org.hibernate.cache.access
Interface CollectionRegionAccessStrategy
- CollectionAccessStrategyAdapter
public interface CollectionRegionAccessStrategy
void | evict(Object key) - Forcibly evict an item from the cache immediately without regard for transaction
isolation.
|
void | evictAll() - Forcibly evict all items from the cache immediately without regard for transaction
isolation.
|
Object | get(Object key, long txTimestamp) - Attempt to retrieve an object from the cache.
|
CollectionRegion | getRegion() - Get the wrapped collection cache region
|
SoftLock | lockItem(Object key, Object version) - We are going to attempt to update/delete the keyed object.
|
SoftLock | lockRegion() - Lock the entire region
|
boolean | putFromLoad(Object key, Object value, long txTimestamp, Object version) - Attempt to cache an object, after loading from the database.
|
boolean | putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride) - Attempt to cache an object, after loading from the database, explicitly
specifying the minimalPut behavior.
|
void | remove(Object key) - Called after an item has become stale (before the transaction completes).
|
void | removeAll() - Called to evict data from the entire region
|
void | unlockItem(Object key, SoftLock lock) - Called when we have finished the attempted update/delete (which may or
may not have been successful), after transaction completion.
|
void | unlockRegion(SoftLock lock) - Called after we have finished the attempted invalidation of the entire
region
|
evict
public void evict(Object key)
throws CacheException
Forcibly evict an item from the cache immediately without regard for transaction
isolation.
key
- The key of the item to remove
evictAll
public void evictAll()
throws CacheException
Forcibly evict all items from the cache immediately without regard for transaction
isolation.
get
public Object get(Object key,
long txTimestamp)
throws CacheException
Attempt to retrieve an object from the cache. Mainly used in attempting
to resolve entities/collections from the second level cache.
key
- The key of the item to be retrieved.txTimestamp
- a timestamp prior to the transaction start time
- the cached object or null
getRegion
public CollectionRegion getRegion()
Get the wrapped collection cache region
lockItem
public SoftLock lockItem(Object key,
Object version)
throws CacheException
We are going to attempt to update/delete the keyed object. This
method is used by "asynchronous" concurrency strategies.
The returned object must be passed back to release(), to release the
lock. Concurrency strategies which do not support client-visible
locks may silently return null.
key
- The key of the item to lockversion
- The item's current version value
- A representation of our lock on the item; or null.
lockRegion
public SoftLock lockRegion()
throws CacheException
Lock the entire region
- A representation of our lock on the item; or null.
putFromLoad
public boolean putFromLoad(Object key,
Object value,
long txTimestamp,
Object version)
throws CacheException
Attempt to cache an object, after loading from the database.
key
- The item keyvalue
- The itemtxTimestamp
- a timestamp prior to the transaction start timeversion
- the item version number
- true if the object was successfully cached
putFromLoad
public boolean putFromLoad(Object key,
Object value,
long txTimestamp,
Object version,
boolean minimalPutOverride)
throws CacheException
Attempt to cache an object, after loading from the database, explicitly
specifying the minimalPut behavior.
key
- The item keyvalue
- The itemtxTimestamp
- a timestamp prior to the transaction start timeversion
- the item version numberminimalPutOverride
- Explicit minimalPut flag
- true if the object was successfully cached
remove
public void remove(Object key)
throws CacheException
Called after an item has become stale (before the transaction completes).
This method is used by "synchronous" concurrency strategies.
key
- The key of the item to remove
removeAll
public void removeAll()
throws CacheException
Called to evict data from the entire region
unlockItem
public void unlockItem(Object key,
SoftLock lock)
throws CacheException
Called when we have finished the attempted update/delete (which may or
may not have been successful), after transaction completion. This method
is used by "asynchronous" concurrency strategies.
unlockRegion
public void unlockRegion(SoftLock lock)
throws CacheException
Called after we have finished the attempted invalidation of the entire
region