public interface IdentityMapAccessor
For instance, to initialize identity maps the code used to be:
session.initializeIdentityIdentityMaps()
With this class, the code now is:
session.getIdentityMapAccessor().initializeIdentityMaps()
Session
Modifier and Type | Method and Description |
---|---|
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(java.lang.String sessionQueryName)
ADVANCED:
Clear the query cache associated with the named query on the session.
|
void |
clearQueryCache(java.lang.String descriptorQueryName,
java.lang.Class queryClass)
ADVANCED:
Clear the query cache associated with the named query on the descriptor for the given class.
|
boolean |
containsObjectInIdentityMap(java.lang.Object domainObject)
ADVANCED:
Returns true if the identity map contains an Object with the same primary
key and Class type of the given domainObject.
|
boolean |
containsObjectInIdentityMap(java.lang.Object primaryKey,
java.lang.Class theClass)
ADVANCED:
Returns true if the identity map contains an Object with the same
primary key and Class type as those specified.
|
boolean |
containsObjectInIdentityMap(Record rowContainingPrimaryKey,
java.lang.Class theClass)
ADVANCED:
Returns true if the identity map contains an Object with the same primary key
of the specified row (i.e. the database record) and Class type.
|
boolean |
containsObjectInIdentityMap(java.util.Vector primaryKey,
java.lang.Class theClass)
Deprecated.
since EclipseLink 2.1, replaced by containsObjectInIdentityMap(Object, Class)
|
java.util.Vector |
getAllFromIdentityMap(Expression selectionCriteria,
java.lang.Class theClass,
Record translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy)
ADVANCED:
Queries the cache in-memory with the passed in criteria and returns matching Objects.
|
java.util.Vector |
getAllFromIdentityMap(Expression selectionCriteria,
java.lang.Class theClass,
Record translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy,
boolean shouldReturnInvalidatedObjects)
ADVANCED:
Queries the cache in-memory with the passed in criteria and returns matching Objects.
|
java.util.Vector |
getAllFromIdentityMap(Expression selectionCriteria,
java.lang.Class theClass,
Record translationRow,
int valueHolderPolicy)
ADVANCED:
Queries the cache in-memory with the passed in criteria and returns matching Objects.
|
java.util.Vector |
getAllFromIdentityMap(Expression selectionCriteria,
java.lang.Class theClass,
Record translationRow,
int valueHolderPolicy,
boolean shouldReturnInvalidatedObjects)
ADVANCED:
Queries the cache in-memory with the passed in criteria and returns matching Objects.
|
java.lang.Object |
getFromIdentityMap(Expression selectionCriteria,
java.lang.Class theClass,
Record translationRow)
ADVANCED:
Queries the cache in-memory and returns an Object from this identity map.
|
java.lang.Object |
getFromIdentityMap(Expression selectionCriteria,
java.lang.Class theClass,
Record translationRow,
InMemoryQueryIndirectionPolicy valueHolderPolicy)
ADVANCED:
Queries the cache in-memory and returns an Object from this identity map.
|
java.lang.Object |
getFromIdentityMap(Expression selectionCriteria,
java.lang.Class theClass,
Record translationRow,
int valueHolderPolicy)
ADVANCED:
Queries the cache in-memory and returns an Object from this identity map.
|
java.lang.Object |
getFromIdentityMap(java.lang.Object domainObject)
ADVANCED:
Returns the Object from the identity map with the same primary key
and Class type of the given domainObject.
|
java.lang.Object |
getFromIdentityMap(java.lang.Object primaryKey,
java.lang.Class theClass)
ADVANCED:
Returns the Object from the identity map with the same primary key
and Class type as those specified.
|
java.lang.Object |
getFromIdentityMap(java.lang.Object primaryKey,
java.lang.Class theClass,
boolean shouldReturnInvalidatedObjects)
ADVANCED:
Returns the Object from the identity map with the same primary key and Class type
as specified.
|
java.lang.Object |
getFromIdentityMap(Record rowContainingPrimaryKey,
java.lang.Class theClass)
ADVANCED:
Returns the Object from the identity map with the same primary key
of the specified row (i.e. the database record) and Class type.
|
java.lang.Object |
getFromIdentityMap(Record rowContainingPrimaryKey,
java.lang.Class theClass,
boolean shouldReturnInvalidatedObjects)
ADVANCED:
Returns the Object from the identity map with the same primary key of the specified
row and Class type.
|
java.lang.Object |
getFromIdentityMap(java.util.Vector primaryKey,
java.lang.Class theClass)
Deprecated.
since EclipseLink 2.1, replaced by getFromIdentityMap(Object, Class)
|
java.lang.Object |
getFromIdentityMap(java.util.Vector primaryKey,
java.lang.Class theClass,
boolean shouldReturnInvalidatedObjects)
Deprecated.
since EclipseLink 2.1, replaced by getFromIdentityMap(Object, Class, boolean)
|
long |
getRemainingValidTime(java.lang.Object object)
ADVANCED:
Returns the remaining life of the given Object.
|
java.lang.Object |
getWriteLockValue(java.lang.Object domainObject)
ADVANCED:
Extracts and returns the write lock value from the identity map through the given Object.
|
java.lang.Object |
getWriteLockValue(java.lang.Object primaryKey,
java.lang.Class theClass)
ADVANCED:
Extracts the write lock value from the identity map through the passed in primaryKey and Class type.
|
java.lang.Object |
getWriteLockValue(java.util.Vector primaryKey,
java.lang.Class theClass)
Deprecated.
since EclipseLink 2.1, replaced by getWriteLockValue(Object, Class)
|
void |
initializeAllIdentityMaps()
PUBLIC:
Resets the entire Object cache.
|
void |
initializeIdentityMap(java.lang.Class theClass)
PUBLIC:
Resets the identity map for only the instances of the given Class type.
|
void |
initializeIdentityMaps()
PUBLIC:
Resets the entire local Object cache.
|
void |
invalidateAll()
ADVANCED:
Sets all of the Objects for all classes to be invalid in the cache.
|
void |
invalidateClass(java.lang.Class theClass)
ADVANCED:
Sets all of the Objects of the specified Class type to be invalid in the cache.
|
void |
invalidateClass(java.lang.Class theClass,
boolean recurse)
ADVANCED:
Sets all of the Objects of the specified Class type to be invalid in the cache.
|
void |
invalidateObject(java.lang.Object object)
ADVANCED:
Sets an Object to be invalid in the cache.
|
void |
invalidateObject(java.lang.Object object,
boolean invalidateCluster)
ADVANCED:
Set an object to be invalid in the cache.
|
void |
invalidateObject(java.lang.Object primaryKey,
java.lang.Class theClass)
ADVANCED:
Sets an Object with the specified primary key and Class type to be invalid in
the cache.
|
void |
invalidateObject(java.lang.Object primaryKey,
java.lang.Class theClass,
boolean invalidateCluster)
ADVANCED:
Set an object to be invalid in the cache.
|
void |
invalidateObject(Record rowContainingPrimaryKey,
java.lang.Class theClass)
ADVANCED:
Sets an Object with the specified primary key of the passed in Row and Class type to
be invalid in the cache.
|
void |
invalidateObject(Record rowContainingPrimaryKey,
java.lang.Class theClass,
boolean invalidateCluster)
ADVANCED:
Set an object to be invalid in the cache.
|
void |
invalidateObject(java.util.Vector primaryKey,
java.lang.Class theClass)
Deprecated.
since EclipseLink 2.1, replaced by invalidateObject(Object, Class)
|
void |
invalidateObject(java.util.Vector primaryKey,
java.lang.Class theClass,
boolean invalidateCluster)
Deprecated.
since EclipseLink 2.1, replaced by invalidateObject(Object, Class, boolean)
|
void |
invalidateObjects(java.util.Collection collection)
ADVANCED:
Sets all of the Objects in the given collection to be invalid in the TopLink identity maps.
|
void |
invalidateObjects(java.util.Collection collection,
boolean invalidateCluster)
ADVANCED:
Set all of the objects in the given collection to be invalid in the cache.
|
void |
invalidateObjects(Expression selectionCriteria)
ADVANCED:
Sets all of the Objects matching the given Expression to be invalid in the cache.
|
void |
invalidateObjects(Expression selectionCriteria,
java.lang.Class theClass,
Record translationRow,
boolean shouldInvalidateOnException)
ADVANCED:
Queries the cache in-memory with the passed in criteria and invalidates matching Objects.
|
void |
invalidateQueryCache(java.lang.Class classThatChanged)
ADVANCED:
Invalidate/remove any results for any query for the class from the query cache.
|
boolean |
isValid(java.lang.Object object)
ADVANCED:
Returns true if an Object with the same primary key and Class type of the
the given Object is valid in the cache.
|
boolean |
isValid(java.lang.Object primaryKey,
java.lang.Class theClass)
ADVANCED:
Returns true if the Object described by the given primary key and Class type is valid
in the cache.
|
boolean |
isValid(Record rowContainingPrimaryKey,
java.lang.Class theClass)
ADVANCED:
Returns true if this Object with the given primary key of the Row and Class type
given is valid in the cache.
|
boolean |
isValid(java.util.Vector primaryKey,
java.lang.Class theClass)
Deprecated.
since EclipseLink 2.1, replaced by isValid(Object, Class)
|
void |
printIdentityMap(java.lang.Class theClass)
PUBLIC:
Used to print all the Objects in the identity map of the given Class type.
|
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.
|
java.lang.Object |
putInIdentityMap(java.lang.Object domainObject)
ADVANCED:
Registers the given Object with the identity map.
|
java.lang.Object |
putInIdentityMap(java.lang.Object domainObject,
java.lang.Object key)
ADVANCED:
Registers the Object and given key with the identity map.
|
java.lang.Object |
putInIdentityMap(java.lang.Object domainObject,
java.lang.Object key,
java.lang.Object writeLockValue)
ADVANCED:
Registers the Object and given key with the identity map.
|
java.lang.Object |
putInIdentityMap(java.lang.Object domainObject,
java.lang.Object key,
java.lang.Object writeLockValue,
long readTime)
ADVANCED:
Registers the given Object with the identity map.
|
java.lang.Object |
putInIdentityMap(java.lang.Object domainObject,
java.util.Vector key)
Deprecated.
since EclipseLink 2.1, replaced by putInIdentityMap(Object, Object)
|
java.lang.Object |
putInIdentityMap(java.lang.Object domainObject,
java.util.Vector key,
java.lang.Object writeLockValue)
Deprecated.
since EclipseLink 2.1, replaced by putInIdentityMap(Object, Object, Object)
|
java.lang.Object |
putInIdentityMap(java.lang.Object domainObject,
java.util.Vector key,
java.lang.Object writeLockValue,
long readTime)
Deprecated.
since EclipseLink 2.1, replaced by putInIdentityMap(Object, Object, Object, long)
|
java.lang.Object |
removeFromIdentityMap(java.lang.Object domainObject)
ADVANCED:
Removes the Object from the Object cache.
|
java.lang.Object |
removeFromIdentityMap(java.lang.Object key,
java.lang.Class theClass)
ADVANCED:
Removes the Object with given primary key and Class from the Object cache.
|
java.lang.Object |
removeFromIdentityMap(java.util.Vector key,
java.lang.Class theClass)
Deprecated.
since EclipseLink 2.1, replaced by removeFromIdentityMap(Object, Class)
|
void |
updateWriteLockValue(java.lang.Object primaryKey,
java.lang.Class theClass,
java.lang.Object writeLockValue)
ADVANCED:
Updates the write lock value in the cache for the Object with same primary key as the given Object.
|
void |
updateWriteLockValue(java.lang.Object domainObject,
java.lang.Object writeLockValue)
ADVANCED:
Updates the write lock value in the identity map for cache key of the primary key
the given Object.
|
void |
updateWriteLockValue(java.util.Vector primaryKey,
java.lang.Class theClass,
java.lang.Object writeLockValue)
Deprecated.
since EclipseLink 2.1, replaced by updateWriteLockValue(Object, Class, Object)
|
void |
validateCache()
ADVANCED:
This can be used to help debugging an Object identity problem.
|
void clearQueryCache()
void clearQueryCache(ReadQuery query)
void clearQueryCache(java.lang.String sessionQueryName)
void clearQueryCache(java.lang.String descriptorQueryName, java.lang.Class queryClass)
void invalidateQueryCache(java.lang.Class classThatChanged)
boolean containsObjectInIdentityMap(java.lang.Object domainObject)
@Deprecated boolean containsObjectInIdentityMap(java.util.Vector primaryKey, java.lang.Class theClass)
boolean containsObjectInIdentityMap(java.lang.Object primaryKey, java.lang.Class theClass)
boolean containsObjectInIdentityMap(Record rowContainingPrimaryKey, java.lang.Class theClass)
java.util.Vector getAllFromIdentityMap(Expression selectionCriteria, java.lang.Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException
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
java.util.Vector getAllFromIdentityMap(Expression selectionCriteria, java.lang.Class theClass, Record translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects) throws QueryException
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
java.util.Vector getAllFromIdentityMap(Expression selectionCriteria, java.lang.Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException
selectionCriteria
- Expression selecting the Objects to be returnedtheClass
- Class to be consideredtranslationRow
- RecordvalueHolderPolicy
- see
InMemoryQueryIndirectionPolicy
QueryException
java.util.Vector getAllFromIdentityMap(Expression selectionCriteria, java.lang.Class theClass, Record translationRow, int valueHolderPolicy) throws QueryException
selectionCriteria
- Expression selecting the Objects to be returnedtheClass
- Class to be consideredtranslationRow
- RecordvalueHolderPolicy
- see
InMemoryQueryIndirectionPolicy
QueryException
java.lang.Object getFromIdentityMap(java.lang.Object domainObject)
domainObject
- Object@Deprecated java.lang.Object getFromIdentityMap(java.util.Vector primaryKey, java.lang.Class theClass)
getFromIdentityMap(Object, Class)
java.lang.Object getFromIdentityMap(java.lang.Object primaryKey, java.lang.Class theClass)
java.lang.Object getFromIdentityMap(Record rowContainingPrimaryKey, java.lang.Class theClass)
rowContainingPrimaryKey
- RecordtheClass
- Class@Deprecated java.lang.Object getFromIdentityMap(java.util.Vector primaryKey, java.lang.Class theClass, boolean shouldReturnInvalidatedObjects)
getFromIdentityMap(Object, Class, boolean)
java.lang.Object getFromIdentityMap(java.lang.Object primaryKey, java.lang.Class theClass, boolean shouldReturnInvalidatedObjects)
java.lang.Object getFromIdentityMap(Record rowContainingPrimaryKey, java.lang.Class theClass, boolean shouldReturnInvalidatedObjects)
rowContainingPrimaryKey
- RecordtheClass
- ClassshouldReturnInvalidatedObjects
- booleanjava.lang.Object getFromIdentityMap(Expression selectionCriteria, java.lang.Class theClass, Record translationRow) throws QueryException
selectionCriteria
- ExpressiontheClass
- ClasstranslationRow
- RecordQueryException
java.lang.Object getFromIdentityMap(Expression selectionCriteria, java.lang.Class theClass, Record translationRow, InMemoryQueryIndirectionPolicy valueHolderPolicy) throws QueryException
selectionCriteria
- ExpressiontheClass
- ClasstranslationRow
- RecordvalueHolderPolicy
- see InMemoryQueryIndirectionPolicy
QueryException
java.lang.Object getFromIdentityMap(Expression selectionCriteria, java.lang.Class theClass, Record translationRow, int valueHolderPolicy) throws QueryException
selectionCriteria
- ExpressiontheClass
- ClasstranslationRow
- RecordvalueHolderPolicy
- see InMemoryQueryIndirectionPolicy
QueryException
long getRemainingValidTime(java.lang.Object object)
object
- Object under considerationjava.lang.Object getWriteLockValue(java.lang.Object domainObject)
domainObject
- Object@Deprecated java.lang.Object getWriteLockValue(java.util.Vector primaryKey, java.lang.Class theClass)
getWriteLockValue(Object, Class)
java.lang.Object getWriteLockValue(java.lang.Object primaryKey, java.lang.Class theClass)
void initializeAllIdentityMaps()
NOTE: Be careful using this method. This method blows away both this session's and its parent's caches. This includes the server cache or any other cache. This throws away any Objects that have been read in. Extreme 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 Objects held in the cache.
void initializeIdentityMap(java.lang.Class theClass)
NOTE: Caution must be used in doing this to ensure that the Objects within the identity map are not referenced from other Objects of other classes or from the application.
theClass
- Classvoid initializeIdentityMaps()
NOTE: This throws away any Objects that have been read in. Extreme 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 Objects held in the cache.
void invalidateObject(java.lang.Object object)
object
- Objectvoid invalidateObject(java.lang.Object object, boolean invalidateCluster)
invalidateCluster
- if true the invalidation will be broadcast to each server in the cluster.@Deprecated void invalidateObject(java.util.Vector primaryKey, java.lang.Class theClass)
invalidateObject(Object, Class)
void invalidateObject(java.lang.Object primaryKey, java.lang.Class theClass)
@Deprecated void invalidateObject(java.util.Vector primaryKey, java.lang.Class theClass, boolean invalidateCluster)
invalidateCluster
- if true the invalidation will be broadcast to each server in the cluster.invalidateObject(Object, Class, boolean)
void invalidateObject(java.lang.Object primaryKey, java.lang.Class theClass, boolean invalidateCluster)
invalidateCluster
- if true the invalidation will be broadcast to each server in the cluster.void invalidateObject(Record rowContainingPrimaryKey, java.lang.Class theClass)
void invalidateObject(Record rowContainingPrimaryKey, java.lang.Class theClass, boolean invalidateCluster)
invalidateCluster
- if true the invalidation will be broadcast to each server in the cluster.void invalidateObjects(java.util.Collection collection)
collection
- objects to be invalidatedvoid invalidateObjects(java.util.Collection collection, boolean invalidateCluster)
invalidateCluster
- if true the invalidation will be broadcast to each server in the cluster.void invalidateObjects(Expression selectionCriteria)
Example - Invalidating Employee Objects with non-null first names:
ExpressionBuilder eb = new ExpressionBuilder(Employee.class);
Expression exp = eb.get("firstName").notNull();
session.getIdentityMapAccessor().invalidateObjects(exp);
selectionCriteria
- Expressionvoid invalidateObjects(Expression selectionCriteria, java.lang.Class theClass, Record translationRow, boolean shouldInvalidateOnException)
selectionCriteria
- Expression selecting the Objects to be returnedtheClass
- Class to be consideredtranslationRow
- RecordshouldInvalidateOnException
- boolean indicates weather to invalidate the object if conform threw exception.void invalidateAll()
void invalidateClass(java.lang.Class theClass)
void invalidateClass(java.lang.Class theClass, boolean recurse)
theClass
- Classrecurse
- booleanboolean isValid(java.lang.Object object)
@Deprecated boolean isValid(java.util.Vector primaryKey, java.lang.Class theClass)
isValid(Object, Class)
boolean isValid(java.lang.Object primaryKey, java.lang.Class theClass)
boolean isValid(Record rowContainingPrimaryKey, java.lang.Class theClass)
void printIdentityMap(java.lang.Class theClass)
void printIdentityMaps()
void printIdentityMapLocks()
java.lang.Object putInIdentityMap(java.lang.Object domainObject)
domainObject
- Object@Deprecated java.lang.Object putInIdentityMap(java.lang.Object domainObject, java.util.Vector key)
putInIdentityMap(Object, Object)
java.lang.Object putInIdentityMap(java.lang.Object domainObject, java.lang.Object key)
@Deprecated java.lang.Object putInIdentityMap(java.lang.Object domainObject, java.util.Vector key, java.lang.Object writeLockValue)
java.lang.Object putInIdentityMap(java.lang.Object domainObject, java.lang.Object key, java.lang.Object writeLockValue)
@Deprecated java.lang.Object putInIdentityMap(java.lang.Object domainObject, java.util.Vector key, java.lang.Object writeLockValue, long readTime)
domainObject
- Objectkey
- ObjectwriteLockValue
- Object for versioningreadTime
- long, time in millisecondsputInIdentityMap(Object, Object, Object, long)
java.lang.Object putInIdentityMap(java.lang.Object domainObject, java.lang.Object key, java.lang.Object writeLockValue, long readTime)
domainObject
- Objectkey
- ObjectwriteLockValue
- Object for versioningreadTime
- long, time in millisecondsjava.lang.Object removeFromIdentityMap(java.lang.Object domainObject)
NOTE: Caution should be used when calling to avoid violating Object identity. The application should only call this if its known that no references to the Object exist.
domainObject
- Object@Deprecated java.lang.Object removeFromIdentityMap(java.util.Vector key, java.lang.Class theClass)
NOTE: Caution should be used when calling to avoid violating Object identity. The application should only call this if its known that no references to the Object exist.
removeFromIdentityMap(Object, Class)
java.lang.Object removeFromIdentityMap(java.lang.Object key, java.lang.Class theClass)
NOTE: Caution should be used when calling to avoid violating Object identity. The application should only call this if its known that no references to the Object exist.
void updateWriteLockValue(java.lang.Object domainObject, java.lang.Object writeLockValue)
domainObject
- ObjectwriteLockValue
- Object for versioning@Deprecated void updateWriteLockValue(java.util.Vector primaryKey, java.lang.Class theClass, java.lang.Object writeLockValue)
void updateWriteLockValue(java.lang.Object primaryKey, java.lang.Class theClass, java.lang.Object writeLockValue)
void validateCache()