Class HardCacheWeakIdentityMap.ReferenceCacheKey
- java.lang.Object
-
- org.eclipse.persistence.internal.helper.ConcurrencyManager
-
- org.eclipse.persistence.internal.identitymaps.CacheKey
-
- org.eclipse.persistence.internal.identitymaps.WeakCacheKey
-
- org.eclipse.persistence.internal.identitymaps.HardCacheWeakIdentityMap.ReferenceCacheKey
-
- All Implemented Interfaces:
Serializable
,Cloneable
- Enclosing class:
- HardCacheWeakIdentityMap
public class HardCacheWeakIdentityMap.ReferenceCacheKey extends WeakCacheKey
Inner class to define the specialized weak cache key. Keeps track of the linked list node to allow quick repositioning.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected LinkedNode
referenceNode
-
Fields inherited from class org.eclipse.persistence.internal.identitymaps.WeakCacheKey
reference
-
Fields inherited from class org.eclipse.persistence.internal.identitymaps.CacheKey
CACHE_KEY_INVALID, CHECK_INVALIDATION_POLICY, CREATION_THREAD_HASHCODE, CREATION_THREAD_ID, CREATION_THREAD_NAME, invalidationState, isIsolated, isWrapper, key, lastUpdatedQueryId, mapOwner, MAX_WAIT_TRIES, object, protectedForeignKeys, readTime, record, transactionId, wrapper, writeLockValue
-
Fields inherited from class org.eclipse.persistence.internal.helper.ConcurrencyManager
activeThread, DEFERRED_LOCK_MANAGERS, depth, lockedByMergeManager, numberOfReaders, numberOfWritersWaiting, shouldTrackStack, stack
-
-
Constructor Summary
Constructors Constructor Description ReferenceCacheKey(Object primaryKey, Object object, Object writeLockValue, long readTime, boolean isIsolated)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExposedNodeLinkedList
getReferenceCache()
LinkedNode
getReferenceCacheNode()
void
setReferenceCacheNode(LinkedNode referenceNode)
void
updateAccess()
Notifies that cache key that it has been accessed.-
Methods inherited from class org.eclipse.persistence.internal.identitymaps.WeakCacheKey
getObject, setObject
-
Methods inherited from class org.eclipse.persistence.internal.identitymaps.CacheKey
acquire, acquire, acquireDeferredLock, acquireIfUnownedNoWait, acquireLock, acquireNoWait, acquireNoWait, acquireReadLock, acquireReadLockNoWait, acquireWithWait, checkDeferredLock, checkReadLock, clone, equals, equals, getActiveThread, getInvalidationState, getKey, getLastUpdatedQueryId, getOwningMap, getProtectedForeignKeys, getReadTime, getRecord, getTransactionId, getWrappedCacheKey, getWrapper, getWriteLockValue, hashCode, hasProtectedForeignKeys, isIsolated, isWrapper, release, releaseDeferredLock, releaseReadLock, removeFromOwningMap, setInvalidationState, setIsolated, setIsWrapper, setKey, setLastUpdatedQueryId, setOwningMap, setProtectedForeignKeys, setReadTime, setRecord, setTransactionId, setWrapper, setWriteLockValue, toString, waitForObject
-
Methods inherited from class org.eclipse.persistence.internal.helper.ConcurrencyManager
acquireIfUnownedNoWait, addReadLockToReadLockManager, clearJustificationWhyMethodIsBuildingObjectCompleteReturnsFalse, enrichStringBuildingExplainWhyThreadIsStuckInIsBuildObjectOnThreadComplete, getConcurrencyManagerCreationDate, getConcurrencyManagerId, getDeferredLockManager, getDeferredLockManagers, getDepth, getNumberOfReaders, getNumberOfWritersWaiting, getReadLockManager, getReadLockManagerEnsureResultIsNotNull, getReadLockManagers, getStack, getThreadsToWaitOnAcquire, getThreadsToWaitOnAcquireMethodName, getThreadsToWaitOnAcquireReadLock, getThreadsToWaitOnAcquireReadLockMethodName, getThreadsWaitingToReleaseDeferredLocks, getThreadsWaitingToReleaseDeferredLocksJustification, getTotalNumberOfKeysAcquiredForReading, getTotalNumberOfKeysReleasedForReading, getTotalNumberOfKeysReleasedForReadingBlewUpExceptionDueToCacheKeyHavingReachedCounterZero, initializeDeferredLockManagers, isAcquired, isBuildObjectOnThreadComplete, isLockedByMergeManager, isNested, putDeferredLock, putThreadAsWaitingToAcquireLockForReading, putThreadAsWaitingToAcquireLockForWriting, releaseAllLocksAcquiredByThread, removeDeferredLockManager, removeReadLockFromReadLockManager, removeReadLockManagerIfEmpty, removeThreadNoLongerWaitingToAcquireLockForReading, removeThreadNoLongerWaitingToAcquireLockForWriting, setActiveThread, setDepth, setIsLockedByMergeManager, setJustificationWhyMethodIsBuildingObjectCompleteReturnsFalse, setNumberOfReaders, setNumberOfWritersWaiting, setShouldTrackStack, setStack, shouldTrackStack, transitionToDeferredLock
-
-
-
-
Field Detail
-
referenceNode
protected LinkedNode referenceNode
-
-
Method Detail
-
getReferenceCacheNode
public LinkedNode getReferenceCacheNode()
-
setReferenceCacheNode
public void setReferenceCacheNode(LinkedNode referenceNode)
-
getReferenceCache
public ExposedNodeLinkedList getReferenceCache()
-
updateAccess
public void updateAccess()
Notifies that cache key that it has been accessed. Allows the LRU sub-cache to be maintained, the cache node must be moved to the front of the list.- Overrides:
updateAccess
in classCacheKey
-
-