net.ontopia.persistence.proxy
Class StatisticsCache

java.lang.Object
  extended by net.ontopia.persistence.proxy.StatisticsCache
All Implemented Interfaces:
StorageCacheIF

public class StatisticsCache
extends java.lang.Object
implements StorageCacheIF

INTERNAL: A transactional storage cache implementation. The cache uses the transactions identity map to lookup objects and stores its cache entries directly on the PersistentIFs.


Field Summary
protected  int dump_interval
           
protected  int hits_f
           
protected  int hits_o
           
protected  int misses_f
           
protected  int misses_o
           
protected  java.lang.String name
           
protected  StorageCacheIF pcache
           
protected  int total_f
           
protected  int total_o
           
 
Method Summary
 void clear(boolean notifyCluster)
          INTERNAL: Clears the cache.
 void close()
          INTERNAL: Releases all resources used by the storage cache.
 void dump()
           
 void evictField(IdentityIF identity, int field, boolean notifyCluster)
          INTERNAL: Evict the identity's field value from the cache.
 void evictFields(IdentityIF identity, boolean notifyCluster)
          INTERNAL: Evict all the identity's field values from the cache.
 void evictIdentity(IdentityIF identity, boolean notifyCluster)
          INTERNAL: Evict the identity from the cache.
 boolean exists(StorageAccessIF access, IdentityIF identity)
          INTERNAL: Can be called to verify whether the specified identity exists in the cache or in the data repository.
 AccessRegistrarIF getRegistrar()
          INTERNAL: Returns the access registrar instance that is used by the storage cache.
 java.lang.Object getValue(StorageAccessIF access, IdentityIF identity, int field)
          INTERNAL: A call forwarded by the transaction (TransactionIF) from persistent objects (PersistentIF) when the field value needs to be retrieved from storage.
 boolean isFieldLoaded(IdentityIF identity, int field)
          INTERNAL: Can be called to check if the specfied field has been registered with the cache.
 boolean isObjectLoaded(IdentityIF identity)
          INTERNAL: Can be called to check if the identity has been registered with the cache.
protected  int percent(int c, int total)
           
 int prefetch(StorageAccessIF access, java.lang.Object type, int field, int nextField, boolean traverse, java.util.Collection identities)
           
 void registerEviction()
          INTERNAL: Tells the cache that eviction is starting.
 void releaseEviction()
          INTERNAL: Deregister eviction.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

total_o

protected int total_o

total_f

protected int total_f

hits_o

protected int hits_o

hits_f

protected int hits_f

misses_o

protected int misses_o

misses_f

protected int misses_f

dump_interval

protected int dump_interval

name

protected java.lang.String name

pcache

protected StorageCacheIF pcache
Method Detail

getRegistrar

public AccessRegistrarIF getRegistrar()
Description copied from interface: StorageCacheIF
INTERNAL: Returns the access registrar instance that is used by the storage cache. If it does not need an access registrar, or it does not have one, null is returned.

Specified by:
getRegistrar in interface StorageCacheIF

close

public void close()
Description copied from interface: StorageCacheIF
INTERNAL: Releases all resources used by the storage cache.

Specified by:
close in interface StorageCacheIF

exists

public boolean exists(StorageAccessIF access,
                      IdentityIF identity)
Description copied from interface: StorageCacheIF
INTERNAL: Can be called to verify whether the specified identity exists in the cache or in the data repository. Whether the data repository is actually asked depends on the policy of the storage cache.

Specified by:
exists in interface StorageCacheIF

getValue

public java.lang.Object getValue(StorageAccessIF access,
                                 IdentityIF identity,
                                 int field)
Description copied from interface: StorageCacheIF
INTERNAL: A call forwarded by the transaction (TransactionIF) from persistent objects (PersistentIF) when the field value needs to be retrieved from storage. The field value will be returned.

Specified by:
getValue in interface StorageCacheIF

isObjectLoaded

public boolean isObjectLoaded(IdentityIF identity)
Description copied from interface: StorageCacheIF
INTERNAL: Can be called to check if the identity has been registered with the cache. The data repository will not be asked.

Specified by:
isObjectLoaded in interface StorageCacheIF

isFieldLoaded

public boolean isFieldLoaded(IdentityIF identity,
                             int field)
Description copied from interface: StorageCacheIF
INTERNAL: Can be called to check if the specfied field has been registered with the cache. The data repository will not be asked.

Specified by:
isFieldLoaded in interface StorageCacheIF

registerEviction

public void registerEviction()
Description copied from interface: StorageCacheIF
INTERNAL: Tells the cache that eviction is starting.

Specified by:
registerEviction in interface StorageCacheIF

releaseEviction

public void releaseEviction()
Description copied from interface: StorageCacheIF
INTERNAL: Deregister eviction.

Specified by:
releaseEviction in interface StorageCacheIF

evictIdentity

public void evictIdentity(IdentityIF identity,
                          boolean notifyCluster)
Description copied from interface: StorageCacheIF
INTERNAL: Evict the identity from the cache.

Specified by:
evictIdentity in interface StorageCacheIF

evictFields

public void evictFields(IdentityIF identity,
                        boolean notifyCluster)
Description copied from interface: StorageCacheIF
INTERNAL: Evict all the identity's field values from the cache.

Specified by:
evictFields in interface StorageCacheIF

evictField

public void evictField(IdentityIF identity,
                       int field,
                       boolean notifyCluster)
Description copied from interface: StorageCacheIF
INTERNAL: Evict the identity's field value from the cache.

Specified by:
evictField in interface StorageCacheIF

clear

public void clear(boolean notifyCluster)
Description copied from interface: StorageCacheIF
INTERNAL: Clears the cache.

Specified by:
clear in interface StorageCacheIF

prefetch

public int prefetch(StorageAccessIF access,
                    java.lang.Object type,
                    int field,
                    int nextField,
                    boolean traverse,
                    java.util.Collection identities)
Specified by:
prefetch in interface StorageCacheIF

percent

protected int percent(int c,
                      int total)

dump

public void dump()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2000-2012 Ontopia.