public class ReadOnlyEhcacheNaturalIdRegionAccessStrategy extends java.lang.Object implements NaturalIdRegionAccessStrategy
Constructor and Description |
---|
ReadOnlyEhcacheNaturalIdRegionAccessStrategy(EhcacheNaturalIdRegion region,
SessionFactoryOptions settings)
Create a read-only access strategy accessing the given NaturalId region.
|
Modifier and Type | Method and Description |
---|---|
boolean |
afterInsert(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value)
Called after an item has been inserted (after the transaction completes),
instead of calling release().
|
boolean |
afterUpdate(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value,
SoftLock lock)
Called after an item has been updated (after the transaction completes),
instead of calling release().
|
void |
evict(java.lang.Object key)
Remove the given mapping without regard to transactional safety
|
void |
evictAll()
Remove all mappings without regard to transactional safety
|
java.lang.Object |
generateCacheKey(java.lang.Object[] naturalIdValues,
EntityPersister persister,
SharedSessionContractImplementor session)
To create instances of NaturalIdCacheKey for this region, Hibernate will invoke this method
exclusively so that generated implementations can generate optimised keys.
|
java.lang.Object |
get(SharedSessionContractImplementor session,
java.lang.Object key,
long txTimestamp)
Attempt to retrieve an object from the cache.
|
java.lang.Object[] |
getNaturalIdValues(java.lang.Object cacheKey)
Performs reverse operation to
NaturalIdRegionAccessStrategy.generateCacheKey(Object[], EntityPersister, SharedSessionContractImplementor) , returning
the original naturalIdValues. |
NaturalIdRegion |
getRegion()
Get the wrapped naturalId cache region
|
boolean |
insert(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value)
Called after an item has been inserted (before the transaction completes),
instead of calling evict().
|
SoftLock |
lockItem(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object version)
We are going to attempt to update/delete the keyed object.
|
SoftLock |
lockRegion()
Region locks are not supported.
|
boolean |
putFromLoad(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value,
long txTimestamp,
java.lang.Object version)
This method is a placeholder for method signatures supplied by interfaces pulled in further down the class
hierarchy.
|
boolean |
putFromLoad(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value,
long txTimestamp,
java.lang.Object version,
boolean minimalPutOverride)
This method is a placeholder for method signatures supplied by interfaces pulled in further down the class
hierarchy.
|
protected T |
region()
The wrapped Hibernate cache region.
|
void |
remove(SharedSessionContractImplementor session,
java.lang.Object key)
A no-op since this is an asynchronous cache access strategy.
|
void |
removeAll()
Called to evict data from the entire region
|
protected SessionFactoryOptions |
settings()
The settings for this persistence unit.
|
void |
unlockItem(SharedSessionContractImplementor session,
java.lang.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)
Region locks are not supported - perform a cache clear as a precaution.
|
boolean |
update(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value)
Called after an item has been updated (before the transaction completes),
instead of calling evict().
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
evict, evictAll, lockRegion, putFromLoad, remove, removeAll, unlockRegion
public ReadOnlyEhcacheNaturalIdRegionAccessStrategy(EhcacheNaturalIdRegion region, SessionFactoryOptions settings)
region
- THe wrapped regionsettings
- The Hibermate settingspublic NaturalIdRegion getRegion()
NaturalIdRegionAccessStrategy
getRegion
in interface NaturalIdRegionAccessStrategy
public java.lang.Object get(SharedSessionContractImplementor session, java.lang.Object key, long txTimestamp) throws CacheException
RegionAccessStrategy
get
in interface RegionAccessStrategy
session
- Current session.key
- The key of the item to be retrieved.txTimestamp
- a timestamp prior to the transaction start timeCacheException
- Propogated from underlying Region
public boolean putFromLoad(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version, boolean minimalPutOverride) throws CacheException
putFromLoad
in interface RegionAccessStrategy
session
- Current session.key
- The item keyvalue
- The itemtxTimestamp
- a timestamp prior to the transaction start timeversion
- the item version numberminimalPutOverride
- Explicit minimalPut flagCacheException
- Propogated from underlying Region
RegionAccessStrategy.putFromLoad(SharedSessionContractImplementor, Object, Object, long, Object, boolean)
,
RegionAccessStrategy.putFromLoad(SharedSessionContractImplementor, Object, Object, long, Object, boolean)
public SoftLock lockItem(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object version) throws java.lang.UnsupportedOperationException
RegionAccessStrategy
RegionAccessStrategy.unlockItem(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, org.hibernate.cache.spi.access.SoftLock)
, to release the
lock. Concurrency strategies which do not support client-visible
locks may silently return null.lockItem
in interface RegionAccessStrategy
session
- Current session.key
- The key of the item to lockversion
- The item's current version valuejava.lang.UnsupportedOperationException
public void unlockItem(SharedSessionContractImplementor session, java.lang.Object key, SoftLock lock) throws CacheException
unlockItem
in interface RegionAccessStrategy
session
- Current session.key
- The item keylock
- The lock previously obtained from RegionAccessStrategy.lockItem(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, java.lang.Object)
CacheException
- Propogated from underlying Region
public boolean insert(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value) throws CacheException
insert
in interface NaturalIdRegionAccessStrategy
session
- Current sessionkey
- The item keyvalue
- The itemCacheException
- Propagated from underlying Region
public boolean afterInsert(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value) throws CacheException
NaturalIdRegionAccessStrategy
afterInsert
in interface NaturalIdRegionAccessStrategy
session
- Current sessionkey
- The item keyvalue
- The itemCacheException
- Propagated from underlying Region
public boolean update(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value) throws java.lang.UnsupportedOperationException
update
in interface NaturalIdRegionAccessStrategy
session
- Current sessionkey
- The item keyvalue
- The itemjava.lang.UnsupportedOperationException
- alwayspublic boolean afterUpdate(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value, SoftLock lock) throws java.lang.UnsupportedOperationException
afterUpdate
in interface NaturalIdRegionAccessStrategy
session
- Current sessionkey
- The item keyvalue
- The itemlock
- The lock previously obtained from RegionAccessStrategy.lockItem(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, java.lang.Object)
java.lang.UnsupportedOperationException
- alwayspublic java.lang.Object generateCacheKey(java.lang.Object[] naturalIdValues, EntityPersister persister, SharedSessionContractImplementor session)
NaturalIdRegionAccessStrategy
generateCacheKey
in interface NaturalIdRegionAccessStrategy
naturalIdValues
- the sequence of values which unequivocally identifies a cached element on this regionpersister
- the persister of the element being cachedpublic java.lang.Object[] getNaturalIdValues(java.lang.Object cacheKey)
NaturalIdRegionAccessStrategy
NaturalIdRegionAccessStrategy.generateCacheKey(Object[], EntityPersister, SharedSessionContractImplementor)
, returning
the original naturalIdValues.getNaturalIdValues
in interface NaturalIdRegionAccessStrategy
cacheKey
- key returned from NaturalIdRegionAccessStrategy.generateCacheKey(Object[], EntityPersister, SharedSessionContractImplementor)
protected T region()
protected SessionFactoryOptions settings()
public final boolean putFromLoad(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version) throws CacheException
public final SoftLock lockRegion()
null
RegionAccessStrategy.lockRegion()
,
RegionAccessStrategy.lockRegion()
public final void unlockRegion(SoftLock lock) throws CacheException
public void remove(SharedSessionContractImplementor session, java.lang.Object key) throws CacheException
public final void removeAll() throws CacheException
CacheException
- Propogated from underlying Region
RegionAccessStrategy.removeAll()
,
RegionAccessStrategy.removeAll()
public final void evict(java.lang.Object key) throws CacheException
public final void evictAll() throws CacheException
CacheException
RegionAccessStrategy.evictAll()
,
RegionAccessStrategy.evictAll()
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.