public class IdentityMapAccessor extends Object implements IdentityMapAccessor, Serializable
Modifier and Type | Field and Description |
---|---|
protected IdentityMapManager |
identityMapManager
This is the identity map manager for this accessor.
|
protected AbstractSession |
session |
Constructor and Description |
---|
IdentityMapAccessor(AbstractSession session,
IdentityMapManager identityMapManager)
INTERNAL:
An IdentityMapAccessor sits between the session and the identityMapManager
It needs references in both directions
|
Modifier and Type | Method and Description |
---|---|
CacheKey |
acquireDeferredLock(Vector primarKey,
Class javaClass,
ClassDescriptor descriptor)
INTERNAL:
Deferred lock the identity map for the object, this is used for avoiding deadlock
The return cacheKey should be used to release the deferred lock
|
CacheKey |
acquireLock(Vector primaryKey,
Class domainClass,
boolean forMerge,
ClassDescriptor descriptor)
INTERNAL:
Provides access for setting a concurrency lock on an object in the IdentityMap.
|
CacheKey |
acquireLock(Vector primarKey,
Class javaClass,
ClassDescriptor descriptor)
INTERNAL:
Lock the identity map for the object, this must be done when building objects.
|
CacheKey |
acquireLockNoWait(Vector primaryKey,
Class domainClass,
boolean forMerge,
ClassDescriptor descriptor)
INTERNAL:
Provides access for setting a concurrency lock on an object in the IdentityMap.
|
CacheKey |
acquireReadLockOnCacheKey(Vector primaryKey,
Class domainClass,
ClassDescriptor descriptor)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
CacheKey |
acquireReadLockOnCacheKeyNoWait(Vector primaryKey,
Class domainClass,
ClassDescriptor descriptor)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
boolean |
acquireWriteLock()
INTERNAL:
Lock the entire cache if the cache isolation requires.
|
void |
clearQueryCache()
ADVANCED:
Clear all the query caches
|
void |
clearQueryCache(ReadQuery query)
ADVANCED:
Clear the query class associated with the passed-in read query
|
void |
clearQueryCache(String sessionQueryName)
ADVANCED:
Clear the query cache associated with the named query on the session
|
void |
clearQueryCache(String descriptorQueryName,
Class queryClass)
ADVANCED:
Clear the query cache associated with the named query on the descriptor for the given class
|
boolean |
containsKey(Vector key,
Class theClass,
ClassDescriptor descriptor)
INTERNAL:
Return whether the identity maps contain an item of the given class and key
|
boolean |
containsObjectInIdentityMap(Object object)
ADVANCED:
Return if their is an object for the primary key.
|
boolean |
containsObjectInIdentityMap(Record rowContainingPrimaryKey,
Class theClass)
ADVANCED:
Return if their is an object for the row containing primary key and the class.
|
boolean |
containsObjectInIdentityMap(Vector primaryKey,
Class theClass)
ADVANCED:
Return if their is an object for the primary key.
|
boolean |
containsObjectInIdentityMap(Vector primaryKey,
Class theClass,
ClassDescriptor descriptor)
INTERNAL:
Return if their is an object for the primary key.
|
protected Vector |
extractPrimaryKeyFromRow(Record rowContainingPrimaryKey,
Class theClass)
INTERNAL:
Extract primary key from a row
|
Vector |
getAllFromIdentityMap(Expression selectionCriteria,
Class theClass,
Record translationRow)
ADVANCED:
Query the cache in-memory.
|
Vector |
getAllFromIdentityMap(Expression selectionCriteria,
Class theClass,
Record translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy)
ADVANCED:
Query the cache in-memory.
|
Vector |
getAllFromIdentityMap(Expression selectionCriteria,
Class theClass,
Record translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy,
boolean shouldReturnInvalidatedObjects)
ADVANCED:
Query the cache in-memory.
|
CacheKey |
getCacheKeyForObject(Object object,
ClassDescriptor descriptor)
INTERNAL:
Retrieve the cache key for the given object from the identity maps
|
CacheKey |
getCacheKeyForObject(Vector primaryKey,
Class myClass,
ClassDescriptor descriptor)
INTERNAL:
Retrieve the cache key for the given identity information
|
Vector |
getClassesRegistered()
INTERNAL:
This method is used to get a list of those classes with IdentityMaps in the Session.
|
Object |
getFromIdentityMap(Expression selectionCriteria,
Class theClass,
Record translationRow)
ADVANCED:
Query the cache in-memory.
|
Object |
getFromIdentityMap(Expression selectionCriteria,
Class theClass,
Record translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy)
ADVANCED:
Query the cache in-memory.
|
Object |
getFromIdentityMap(Expression selectionCriteria,
Class theClass,
Record translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy,
boolean conforming)
INTERNAL:
Query the cache in-memory.
|
Object |
getFromIdentityMap(Expression selectionCriteria,
Class theClass,
Record translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy,
boolean conforming,
boolean shouldReturnInvalidatedObjects)
INTERNAL:
Query the cache in-memory.
|
Object |
getFromIdentityMap(Expression selectionCriteria,
Class theClass,
Record translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy,
boolean conforming,
boolean shouldReturnInvalidatedObjects,
ClassDescriptor descriptor)
INTERNAL:
Query the cache in-memory.
|
Object |
getFromIdentityMap(Object object)
ADVANCED:
Return the object from the identity with primary and class of the given object.
|
Object |
getFromIdentityMap(Record rowContainingPrimaryKey,
Class theClass)
ADVANCED:
Return the object from the identity with the primary and class.
|
Object |
getFromIdentityMap(Record rowContainingPrimaryKey,
Class theClass,
boolean shouldReturnInvalidatedObjects)
ADVANCED:
Return the object from the identity with the primary and class.
|
Object |
getFromIdentityMap(Vector primaryKey,
Class theClass)
ADVANCED:
Return the object from the identity with the primary and class.
|
Object |
getFromIdentityMap(Vector primaryKey,
Class theClass,
boolean shouldReturnInvalidatedObjects)
ADVANCED:
Return the object from the identity with the primary and class.
|
Object |
getFromIdentityMap(Vector primaryKey,
Class theClass,
boolean shouldReturnInvalidatedObjects,
ClassDescriptor descriptor,
JoinedAttributeManager joinedAttributeManager)
INTERNAL:
Return the object from the identity with the primary and class.
|
Object |
getFromIdentityMap(Vector primaryKey,
Class theClass,
ClassDescriptor descriptor,
JoinedAttributeManager joinedAttributeManager)
INTERNAL:
Return the object from the identity with the primary and class.
|
Object |
getFromIdentityMapWithDeferredLock(Vector primaryKey,
Class theClass,
boolean shouldReturnInvalidatedObjects,
ClassDescriptor descriptor)
INTERNAL:
Return the object from the identity with the primary and class.
|
Object |
getFromIdentityMapWithDeferredLock(Vector primaryKey,
Class theClass,
ClassDescriptor descriptor)
INTERNAL:
Return the object from the identity with the primary and class.
|
IdentityMap |
getIdentityMap(Class theClass)
INTERNAL:
Get the identity map for the given class from the IdentityMapManager
|
IdentityMap |
getIdentityMap(ClassDescriptor descriptor)
INTERNAL:
Get the identity map for the given class from the IdentityMapManager
|
IdentityMapManager |
getIdentityMapManager()
INTERNAL:
Get the IdentityMapManager for this IdentityMapAccessor
This method should be used for all IdentityMapManager access since it may
be overridden in sub classes.
|
long |
getRemainingValidTime(Object object)
ADVANCED:
Return the remaining life of this object.
|
AbstractSession |
getSession()
INTERNAL:
get the session associated with this IdentityMapAccessor
|
Object |
getWrapper(Vector primaryKey,
Class theClass)
INTERNAL:
Get the wrapper object from the cache key associated with the given primary key,
this is used for EJB.
|
WriteLockManager |
getWriteLockManager()
INTERNAL:
Returns the single write Lock manager for this session
|
Object |
getWriteLockValue(Object object)
ADVANCED:
Extract the write lock value from the identity map.
|
Object |
getWriteLockValue(Vector primaryKey,
Class theClass)
ADVANCED:
Extract the write lock value from the identity map.
|
Object |
getWriteLockValue(Vector primaryKey,
Class theClass,
ClassDescriptor descriptor)
ADVANCED:
Extract the write lock value from the identity map.
|
void |
initializeAllIdentityMaps()
PUBLIC:
Reset the entire object cache.
|
void |
initializeIdentityMap(Class theClass)
PUBLIC:
Reset the identity map for only the instances of the class.
|
void |
initializeIdentityMaps()
PUBLIC:
Reset the entire local object cache.
|
CacheKey |
internalPutInIdentityMap(Object object,
Vector key,
Object writeLockValue,
long readTime,
ClassDescriptor descriptor)
INTERNAL:
Register the object with the identity map.
|
void |
invalidateAll()
ADVANCED:
Set all of the objects from all identity maps to be invalid in TopLink's
identity maps.
|
void |
invalidateClass(Class myClass)
ADVANCED:
Set all of the objects of a specific class to be invalid in TopLink's identity maps
Will set the recurse on inheritance to true.
|
void |
invalidateClass(Class myClass,
boolean recurse)
ADVANCED:
Set all of the objects of a specific class to be invalid in TopLink's identity maps.
|
void |
invalidateObject(Object object)
ADVANCED:
Set an object to be invalid in the TopLink identity maps.
|
void |
invalidateObject(Record rowContainingPrimaryKey,
Class theClass)
ADVANCED:
Set an object to be invalid in the TopLink identity maps.
|
void |
invalidateObject(Vector primaryKey,
Class theClass)
ADVANCED:
Set an object to be invalid in the TopLink identity maps.
|
void |
invalidateObjects(Expression selectionCriteria)
ADVANCED:
Set all of the objects from the given Expression to be invalid in the TopLink Identity Maps
|
void |
invalidateObjects(Vector collection)
ADVANCED:
Set all of the objects in the given collection to be invalid in the TopLink Identity Maps
This method will take no action for any objects in the collection that do not exist in the cache.
|
boolean |
isValid(AbstractRecord rowContainingPrimaryKey,
Class theClass)
ADVANCED:
Return true if this object is valid in TopLink's identity maps
return false otherwise
|
boolean |
isValid(Object object)
ADVANCED:
Return true if this object is valid in TopLink's identity maps
return false otherwise
|
boolean |
isValid(Vector primaryKey,
Class theClass)
ADVANCED:
Return true if this object is valid in TopLink's identity maps
return false otherwise
|
void |
printIdentityMap(Class businessClass)
PUBLIC:
Used to print all the objects in the identity map of the passed in class.
|
void |
printIdentityMapLocks()
PUBLIC:
Used to print all the locks in every identity map in this session.
|
void |
printIdentityMaps()
PUBLIC:
Used to print all the objects in every identity map in this session.
|
Object |
putInIdentityMap(Object object)
ADVANCED:
Register the object with the identity map.
|
Object |
putInIdentityMap(Object object,
Vector key)
ADVANCED:
Register the object with the identity map.
|
Object |
putInIdentityMap(Object object,
Vector key,
Object writeLockValue)
ADVANCED:
Register the object with the identity map.
|
Object |
putInIdentityMap(Object object,
Vector key,
Object writeLockValue,
long readTime)
ADVANCED:
Register the object with the identity map.
|
Object |
putInIdentityMap(Object object,
Vector key,
Object writeLockValue,
long readTime,
ClassDescriptor descriptor)
ADVANCED:
Register the object with the identity map.
|
void |
releaseWriteLock()
INTERNAL:
Lock the entire cache if the cache isolation requires.
|
Object |
removeFromIdentityMap(Object object)
ADVANCED:
Remove the object from the object cache.
|
Object |
removeFromIdentityMap(Vector key,
Class theClass)
ADVANCED:
Remove the object from the object cache.
|
Object |
removeFromIdentityMap(Vector key,
Class theClass,
ClassDescriptor descriptor)
INTERNAL:
Remove the object from the object cache.
|
void |
setIdentityMapManager(IdentityMapManager identityMapManager)
INTERNAL:
Set the IdentityMapManager for this IdentityMapAccessor
|
void |
setWrapper(Vector primaryKey,
Class theClass,
Object wrapper)
INTERNAL:
Update the wrapper object the cache key associated with the given primary key,
this is used for EJB.
|
void |
updateWriteLockValue(Object object,
Object writeLockValue)
ADVANCED:
Update the write lock value in the identity map.
|
void |
updateWriteLockValue(Vector primaryKey,
Class theClass,
Object writeLockValue)
ADVANCED:
Update the write lock value in the identity map.
|
void |
validateCache()
INTERNAL:
This can be used to help debugging an object identity problem.
|
protected IdentityMapManager identityMapManager
protected AbstractSession session
public IdentityMapAccessor(AbstractSession session, IdentityMapManager identityMapManager)
public CacheKey acquireDeferredLock(Vector primarKey, Class javaClass, ClassDescriptor descriptor)
public CacheKey acquireLock(Vector primarKey, Class javaClass, ClassDescriptor descriptor)
public CacheKey acquireLock(Vector primaryKey, Class domainClass, boolean forMerge, ClassDescriptor descriptor)
IdentityMap#aquire
public CacheKey acquireLockNoWait(Vector primaryKey, Class domainClass, boolean forMerge, ClassDescriptor descriptor)
IdentityMap#aquire
public CacheKey acquireReadLockOnCacheKey(Vector primaryKey, Class domainClass, ClassDescriptor descriptor)
public CacheKey acquireReadLockOnCacheKeyNoWait(Vector primaryKey, Class domainClass, ClassDescriptor descriptor)
public boolean acquireWriteLock()
public void clearQueryCache()
public void clearQueryCache(ReadQuery query)
public void clearQueryCache(String sessionQueryName)
public void clearQueryCache(String descriptorQueryName, Class queryClass)
public boolean containsKey(Vector key, Class theClass, ClassDescriptor descriptor)
public boolean containsObjectInIdentityMap(Object object)
containsObjectInIdentityMap
in interface IdentityMapAccessor
object
- Objectpublic boolean containsObjectInIdentityMap(Vector primaryKey, Class theClass)
containsObjectInIdentityMap
in interface IdentityMapAccessor
primaryKey
- VectortheClass
- Classpublic boolean containsObjectInIdentityMap(Vector primaryKey, Class theClass, ClassDescriptor descriptor)
public boolean containsObjectInIdentityMap(Record rowContainingPrimaryKey, Class theClass)
containsObjectInIdentityMap
in interface IdentityMapAccessor
rowContainingPrimaryKey
- RecordtheClass
- Class type to be foundprotected Vector extractPrimaryKeyFromRow(Record rowContainingPrimaryKey, Class theClass)
DatabaseRow
- to extract primary key fromClass
- public CacheKey getCacheKeyForObject(Object object, ClassDescriptor descriptor)
Object
- object the object to get the cache key forpublic Vector getClassesRegistered()
public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow) throws QueryException
QueryException
public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException
getAllFromIdentityMap
in interface IdentityMapAccessor
selectionCriteria
- Expression selecting the Objects to be returnedtheClass
- Class to be consideredtranslationRow
- RecordvalueHolderPolicy
- see
InMemoryQueryIndirectionPolicy
shouldReturnInvalidatedObjects
- boolean - true if only invalid Objects should be returnedQueryException
public Vector getAllFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException
getAllFromIdentityMap
in interface IdentityMapAccessor
selectionCriteria
- Expression selecting the Objects to be returnedtheClass
- Class to be consideredtranslationRow
- RecordvalueHolderPolicy
- see
InMemoryQueryIndirectionPolicy
QueryException
public Object getFromIdentityMap(Object object)
getFromIdentityMap
in interface IdentityMapAccessor
object
- Objectpublic CacheKey getCacheKeyForObject(Vector primaryKey, Class myClass, ClassDescriptor descriptor)
Vector
- the primary key of the cache key to be retrievedClass
- the class of the cache key to be retrievedpublic Object getFromIdentityMap(Vector primaryKey, Class theClass)
getFromIdentityMap
in interface IdentityMapAccessor
primaryKey
- VectortheClass
- Classpublic Object getFromIdentityMap(Vector primaryKey, Class theClass, ClassDescriptor descriptor, JoinedAttributeManager joinedAttributeManager)
public Object getFromIdentityMap(Vector primaryKey, Class theClass, boolean shouldReturnInvalidatedObjects)
getFromIdentityMap
in interface IdentityMapAccessor
primaryKey
- VectortheClass
- ClassshouldReturnInvalidatedObjects
- InMemoryQueryIndirectionPolicypublic Object getFromIdentityMap(Vector primaryKey, Class theClass, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor, JoinedAttributeManager joinedAttributeManager)
public Object getFromIdentityMap(Record rowContainingPrimaryKey, Class theClass)
getFromIdentityMap
in interface IdentityMapAccessor
rowContainingPrimaryKey
- RecordtheClass
- Classpublic Object getFromIdentityMap(Record rowContainingPrimaryKey, Class theClass, boolean shouldReturnInvalidatedObjects)
getFromIdentityMap
in interface IdentityMapAccessor
rowContainingPrimaryKey
- RecordtheClass
- ClassshouldReturnInvalidatedObjects
- booleanpublic Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow) throws QueryException
getFromIdentityMap
in interface IdentityMapAccessor
selectionCriteria
- ExpressiontheClass
- ClasstranslationRow
- RecordQueryException
public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException
getFromIdentityMap
in interface IdentityMapAccessor
selectionCriteria
- ExpressiontheClass
- ClasstranslationRow
- RecordvalueHolderPolicy
- see InMemoryQueryIndirectionPolicy
QueryException
public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean conforming)
public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects)
public Object getFromIdentityMap(Expression selectionCriteria, Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor)
public Object getFromIdentityMapWithDeferredLock(Vector primaryKey, Class theClass, ClassDescriptor descriptor)
public Object getFromIdentityMapWithDeferredLock(Vector primaryKey, Class theClass, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor)
public IdentityMapManager getIdentityMapManager()
public IdentityMap getIdentityMap(Class theClass)
public IdentityMap getIdentityMap(ClassDescriptor descriptor)
public long getRemainingValidTime(Object object)
getRemainingValidTime
in interface IdentityMapAccessor
object
- Object under considerationpublic AbstractSession getSession()
public Object getWrapper(Vector primaryKey, Class theClass)
public WriteLockManager getWriteLockManager()
public Object getWriteLockValue(Object object)
getWriteLockValue
in interface IdentityMapAccessor
object
- Objectpublic Object getWriteLockValue(Vector primaryKey, Class theClass)
getWriteLockValue
in interface IdentityMapAccessor
primaryKey
- VectortheClass
- Classpublic Object getWriteLockValue(Vector primaryKey, Class theClass, ClassDescriptor descriptor)
public void initializeAllIdentityMaps()
NOTE: be careful using this method. This method blows away both this session's and its parents caches, this includes the server cache or any other cache. This throws away any objects that have been read in. Extream caution should be used before doing this because object identity will no longer be maintained for any objects currently read in. This should only be called if the application knows that it no longer has references to object held in the cache.
initializeAllIdentityMaps
in interface IdentityMapAccessor
public void initializeIdentityMap(Class theClass)
initializeIdentityMap
in interface IdentityMapAccessor
theClass
- Classpublic void initializeIdentityMaps()
initializeIdentityMaps
in interface IdentityMapAccessor
public void invalidateObject(Object object)
invalidateObject
in interface IdentityMapAccessor
object
- Objectpublic void invalidateObject(Vector primaryKey, Class theClass)
invalidateObject
in interface IdentityMapAccessor
primaryKey
- VectortheClass
- Classpublic void invalidateObject(Record rowContainingPrimaryKey, Class theClass)
invalidateObject
in interface IdentityMapAccessor
rowContainingPrimaryKey
- RecordtheClass
- Classpublic void invalidateObjects(Expression selectionCriteria)
invalidateObjects
in interface IdentityMapAccessor
selectionCriteria
- Expressionpublic void invalidateObjects(Vector collection)
invalidateObjects
in interface IdentityMapAccessor
collection
- Vector of Objects to be invalidatedpublic void invalidateClass(Class myClass)
invalidateClass
in interface IdentityMapAccessor
myClass
- Classpublic void invalidateClass(Class myClass, boolean recurse)
invalidateClass
in interface IdentityMapAccessor
myClass
- Classrecurse
- booleanpublic void invalidateAll()
invalidateAll
in interface IdentityMapAccessor
public boolean isValid(Object object)
isValid
in interface IdentityMapAccessor
object
- Objectpublic boolean isValid(Vector primaryKey, Class theClass)
isValid
in interface IdentityMapAccessor
primaryKey
- VectortheClass
- Classpublic boolean isValid(AbstractRecord rowContainingPrimaryKey, Class theClass)
isValid
in interface IdentityMapAccessor
rowContainingPrimaryKey
- AbstractRecordtheClass
- Classpublic void printIdentityMap(Class businessClass)
printIdentityMap
in interface IdentityMapAccessor
businessClass
- Classpublic void printIdentityMaps()
printIdentityMaps
in interface IdentityMapAccessor
public void printIdentityMapLocks()
printIdentityMapLocks
in interface IdentityMapAccessor
public Object putInIdentityMap(Object object)
putInIdentityMap
in interface IdentityMapAccessor
object
- Objectpublic Object putInIdentityMap(Object object, Vector key)
putInIdentityMap
in interface IdentityMapAccessor
object
- Objectkey
- Vectorpublic Object putInIdentityMap(Object object, Vector key, Object writeLockValue)
putInIdentityMap
in interface IdentityMapAccessor
object
- Objectkey
- VectorwriteLockValue
- Object for versioningpublic Object putInIdentityMap(Object object, Vector key, Object writeLockValue, long readTime)
putInIdentityMap
in interface IdentityMapAccessor
object
- Objectkey
- VectorwriteLockValue
- Object for versioningreadTime
- long, time in millisecondspublic Object putInIdentityMap(Object object, Vector key, Object writeLockValue, long readTime, ClassDescriptor descriptor)
public CacheKey internalPutInIdentityMap(Object object, Vector key, Object writeLockValue, long readTime, ClassDescriptor descriptor)
public void releaseWriteLock()
public Object removeFromIdentityMap(Object object)
removeFromIdentityMap
in interface IdentityMapAccessor
object
- Objectpublic Object removeFromIdentityMap(Vector key, Class theClass)
removeFromIdentityMap
in interface IdentityMapAccessor
key
- VectortheClass
- Classpublic Object removeFromIdentityMap(Vector key, Class theClass, ClassDescriptor descriptor)
public void setIdentityMapManager(IdentityMapManager identityMapManager)
public void setWrapper(Vector primaryKey, Class theClass, Object wrapper)
public void updateWriteLockValue(Object object, Object writeLockValue)
updateWriteLockValue
in interface IdentityMapAccessor
object
- ObjectwriteLockValue
- Object for versioningpublic void updateWriteLockValue(Vector primaryKey, Class theClass, Object writeLockValue)
updateWriteLockValue
in interface IdentityMapAccessor
primaryKey
- VectortheClass
- ClasswriteLockValue
- Object for versioningpublic void validateCache()
validateCache
in interface IdentityMapAccessor
Copyright © 2023. All rights reserved.