|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.ontopia.persistence.proxy.AbstractLocalCache
public abstract class AbstractLocalCache
INTERNAL: A transactional storage cache implementation. The cache uses the transaction to lookup objects and relies on the fact that PersistentIFs can store their own data.
Field Summary | |
---|---|
protected StorageCacheIF |
pcache
|
protected AccessRegistrarIF |
pregistrar
|
protected TicketIF |
ticket
|
protected AbstractTransaction |
txn
|
Method Summary | |
---|---|
void |
clear(boolean notifyCluster)
INTERNAL: Clears the cache. |
void |
close()
INTERNAL: Releases all resources used by the storage cache. |
IdentityIF |
createIdentity(java.lang.Object type,
long key)
INTERNAL: Factory method for creating new identity objects. |
IdentityIF |
createIdentity(java.lang.Object type,
java.lang.Object key)
INTERNAL: Factory method for creating new identity objects. |
IdentityIF |
createIdentity(java.lang.Object type,
java.lang.Object[] keys)
INTERNAL: Factory method for creating new identity objects. |
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. |
abstract 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. |
TicketIF |
getTicket()
INTERNAL: Get ticket that should be used as first argument to register methods. |
abstract 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. |
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 |
registerField(TicketIF ticket,
IdentityIF identity,
int field,
java.lang.Object value)
INTERNAL: Called by storage accessors (FieldAccessIF) when they read the value of an object field from the database. |
void |
registerIdentity(TicketIF ticket,
IdentityIF identity)
INTERNAL: Called by storage accessors (QueryIFs or FieldAccessIF) when they locate the identity of an object in the database. |
void |
releaseEviction()
INTERNAL: Deregister eviction. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected AbstractTransaction txn
protected StorageCacheIF pcache
protected AccessRegistrarIF pregistrar
protected TicketIF ticket
Method Detail |
---|
public AccessRegistrarIF getRegistrar()
StorageCacheIF
getRegistrar
in interface StorageCacheIF
public void close()
StorageCacheIF
close
in interface StorageCacheIF
public abstract boolean exists(StorageAccessIF access, IdentityIF identity)
StorageCacheIF
exists
in interface StorageCacheIF
public abstract java.lang.Object getValue(StorageAccessIF access, IdentityIF identity, int field)
StorageCacheIF
getValue
in interface StorageCacheIF
public boolean isObjectLoaded(IdentityIF identity)
StorageCacheIF
isObjectLoaded
in interface StorageCacheIF
public boolean isFieldLoaded(IdentityIF identity, int field)
StorageCacheIF
isFieldLoaded
in interface StorageCacheIF
public void registerEviction()
StorageCacheIF
registerEviction
in interface StorageCacheIF
public void releaseEviction()
StorageCacheIF
releaseEviction
in interface StorageCacheIF
public void evictIdentity(IdentityIF identity, boolean notifyCluster)
StorageCacheIF
evictIdentity
in interface StorageCacheIF
public void evictFields(IdentityIF identity, boolean notifyCluster)
StorageCacheIF
evictFields
in interface StorageCacheIF
public void evictField(IdentityIF identity, int field, boolean notifyCluster)
StorageCacheIF
evictField
in interface StorageCacheIF
public void clear(boolean notifyCluster)
StorageCacheIF
clear
in interface StorageCacheIF
public int prefetch(StorageAccessIF access, java.lang.Object type, int field, int nextField, boolean traverse, java.util.Collection identities)
prefetch
in interface StorageCacheIF
public IdentityIF createIdentity(java.lang.Object type, long key)
AccessRegistrarIF
createIdentity
in interface AccessRegistrarIF
public IdentityIF createIdentity(java.lang.Object type, java.lang.Object key)
AccessRegistrarIF
createIdentity
in interface AccessRegistrarIF
public IdentityIF createIdentity(java.lang.Object type, java.lang.Object[] keys)
AccessRegistrarIF
createIdentity
in interface AccessRegistrarIF
public TicketIF getTicket()
AccessRegistrarIF
getTicket
in interface AccessRegistrarIF
public void registerIdentity(TicketIF ticket, IdentityIF identity)
AccessRegistrarIF
registerIdentity
in interface AccessRegistrarIF
public void registerField(TicketIF ticket, IdentityIF identity, int field, java.lang.Object value)
AccessRegistrarIF
registerField
in interface AccessRegistrarIF
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |