org.apache.manifoldcf.core.cachemanager
Class BaseDescription

java.lang.Object
  extended by org.apache.manifoldcf.core.cachemanager.BaseDescription
All Implemented Interfaces:
ICacheDescription
Direct Known Subclasses:
AuthorityConnectionManager.AuthorityConnectionDescription, Jobs.JobObjectDescription, OutputConnectionManager.OutputConnectionDescription, QueryDescription, RepositoryConnectionManager.RepositoryConnectionDescription

public abstract class BaseDescription
extends java.lang.Object
implements ICacheDescription

This is the base class for cache object descriptions. The base class sets up LRU behavior based on parameters in a configuration file, and also bases expiration on the same class picture.


Nested Class Summary
protected  class BaseDescription.LocalCacheClass
          This is a cache class implementation that gets expiration and LRU info from .ini variables.
 
Field Summary
static java.lang.String _rcsid
           
protected  ICacheClass cacheClass
           
protected static java.lang.Integer max_value
           
 
Constructor Summary
BaseDescription(java.lang.String objectClassName)
           
 
Method Summary
 ICacheClass getObjectClass()
          Get the object class for an object.
 long getObjectExpirationTime()
          Obtain an expiration time for an object, in milliseconds since epoch.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.manifoldcf.core.interfaces.ICacheDescription
getCriticalSectionName, getObjectKeys
 

Field Detail

_rcsid

public static final java.lang.String _rcsid
See Also:
Constant Field Values

cacheClass

protected ICacheClass cacheClass

max_value

protected static final java.lang.Integer max_value
Constructor Detail

BaseDescription

public BaseDescription(java.lang.String objectClassName)
Method Detail

getObjectClass

public ICacheClass getObjectClass()
Get the object class for an object. The object class is used to determine the group of objects treated in the same LRU manner.

Specified by:
getObjectClass in interface ICacheDescription
Returns:
the newly created object's object class, or null if there is no such class, and LRU behavior is not desired.

getObjectExpirationTime

public long getObjectExpirationTime()
Obtain an expiration time for an object, in milliseconds since epoch. The cache manager will call this method for all objects that are being operated on, so that their expiration timestamps get properly updated to a new time.

Specified by:
getObjectExpirationTime in interface ICacheDescription
Returns:
a time in milliseconds for the object to expire, or -1 if there is no expiration desired.