Clover coverage report -
Coverage timestamp: Sat Apr 30 2005 21:58:28 PDT
file stats: LOC: 97   Methods: 0
NCLOC: 15   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
PersistenceListener.java - - - -
coverage
 1   
 /*
 2   
  * Copyright (c) 2002-2003 by OpenSymphony
 3   
  * All rights reserved.
 4   
  */
 5   
 package com.opensymphony.oscache.base.persistence;
 6   
 
 7   
 import com.opensymphony.oscache.base.Config;
 8   
 
 9   
 import java.util.Set;
 10   
 
 11   
 /**
 12   
  * Defines the methods that are required to persist cache data.
 13   
  * To provide a custom persistence mechanism you should implement this
 14   
  * interface and supply the fully-qualified classname to the cache via
 15   
  * the <code>cache.persistence.class</code> configuration property.
 16   
  *
 17   
  * @version        $Revision: 1.1 $
 18   
  * @author <a href="mailto:fbeauregard@pyxis-tech.com">Francois Beauregard</a>
 19   
  */
 20   
 public interface PersistenceListener {
 21   
     /**
 22   
      * Verify if an object is currently stored in the persistent cache.
 23   
      *
 24   
      * @param key The cache key of the object to check.
 25   
      */
 26   
     public boolean isStored(String key) throws CachePersistenceException;
 27   
 
 28   
     /**
 29   
      * Verify if a group is currently stored in the persistent cache.
 30   
      *
 31   
      * @param groupName The name of the group to check.
 32   
      */
 33   
     public boolean isGroupStored(String groupName) throws CachePersistenceException;
 34   
 
 35   
     /**
 36   
      * Clear the entire persistent cache (including the root)
 37   
      */
 38   
     public void clear() throws CachePersistenceException;
 39   
 
 40   
     /**
 41   
      * Allow the persistence code to initialize itself based on the supplied
 42   
      * cache configuration.
 43   
      */
 44   
     public PersistenceListener configure(Config config);
 45   
 
 46   
     /**
 47   
      * Removes an object from the persistent cache
 48   
      */
 49   
     public void remove(String key) throws CachePersistenceException;
 50   
 
 51   
     /**
 52   
      * Removes a group from the persistent cache.
 53   
      *
 54   
      * @param groupName The name of the cache group to remove.
 55   
      */
 56   
     public void removeGroup(String groupName) throws CachePersistenceException;
 57   
 
 58   
     /**
 59   
      * Retrieves an object from the persistent cache.
 60   
      *
 61   
      * @param key The unique cache key that maps to the object
 62   
      * being retrieved.
 63   
      * @return The object, or <code>null</code> if no object was found
 64   
      * matching the supplied key.
 65   
      */
 66   
     public Object retrieve(String key) throws CachePersistenceException;
 67   
 
 68   
     /**
 69   
      * Stores an object in the persistent cache.
 70   
      *
 71   
      * @param key The key to uniquely identify this object.
 72   
      * @param obj The object to persist. Most implementations
 73   
      * of this interface will require this object implements
 74   
      * <code>Serializable</code>.
 75   
      */
 76   
     public void store(String key, Object obj) throws CachePersistenceException;
 77   
 
 78   
     /**
 79   
      * Stores a group in the persistent cache.
 80   
      *
 81   
      * @param groupName The name of the group to persist.
 82   
      * @param group A set containing the keys of all the <code>CacheEntry</code>
 83   
      * objects that belong to this group.
 84   
      */
 85   
     public void storeGroup(String groupName, Set group) throws CachePersistenceException;
 86   
 
 87   
     /**
 88   
      * Retrieves a group from the persistent cache.
 89   
      *
 90   
      * @param groupName The name of the group to retrieve.
 91   
      * @return The returned set should contain the keys
 92   
      * of all the <code>CacheEntry</code> objects that belong
 93   
      * to this group.
 94   
      */
 95   
     Set retrieveGroup(String groupName) throws CachePersistenceException;
 96   
 }
 97