All Packages Class Hierarchy This Package Previous Next Index
FilepoBC is an implementation of the BaseCollectionEC interface, which means that it uses an external CacheManager (the LruCacheManager) to cache its Cached objects. A single instance of LruCacheManager can cache Cache objects for multiple instances of FilepoBC or any other BaseCollectionEC.
FilepoBCImpl is packaged as a Manageable, so that an AA can either manage it manually (as a root BaseCollection) or assemble it into a Managed whose instances are managed by another BaseCollection. FilepoBC is the interface name and FilepoBCImpl is the implementation class name.
FilepoBC is heterogeneous (ie, each of its Managed objects can have a different class. A Managed object's Manageable interface name is stored at the beginning of its file, preceeding the Managed object's EssentialData.
FilepoBC has two objects at runtime for each activated Managed object that are instances of ManagedDel and FilepoCached. An instance of ManagedDel object is a skinny object that implements the ManagedDel interface and delegates the Manageable interface methods to a FilepoBC Cached object. To avoid having to store multiple class names for these, a FilepoBCImpl expects the AA to use the following naming convention for these classes:
The interface name (eg, This interface name is then remembered persistently
by storing it at the beginning of the its file,
preceeding the Managed object's EssentialData. A FilepoBC
expects the AA to have prepared 2 additional classes using the
naming convention described below. If these are not found
during runtime, FilepoBC throws a FilepoBCClassNotFoundError.
The Managed object class name adds a The FilepoCached object class name adds a The For the BaseCollection createManaged() signitures, FilepoBCImpl
generate a key for the client that is the String form of an int.
These methods never throw an InvalidKeyError because the generated
key is always unique.
Another version of FilepoBC called FilepoBCKeyInData will come
later whose implementation of the BaseCollection createManaged()
signitures will allow interface names to be registered along with
some way to tell the BaseCollection how to get the key from the
Managed object's EssentialData.
In all the above cases, the key is used as the file name for the
Managed object.
getCleanInterval()
getDependentContext()
getManagedClassName()
getManagedSuffix()
setCleanInterval(long)
setManagedClassName(String)
setCleanInterval
public abstract void setCleanInterval(long cleanInterval)
getCleanInterval
public abstract long getCleanInterval()
getDependentContext
public abstract KeyedCollection getDependentContext()
getManagedSuffix
public abstract String getManagedSuffix()
setManagedClassName
public abstract void setManagedClassName(String managedClassName)
getManagedClassName
public abstract String getManagedClassName()
All Packages Class Hierarchy This Package Previous Next Index