Class NonStrictReadWriteEhcacheEntityRegionAccessStrategy
- java.lang.Object
-
- net.sf.ehcache.hibernate.strategy.NonStrictReadWriteEhcacheEntityRegionAccessStrategy
-
- All Implemented Interfaces:
org.hibernate.cache.access.EntityRegionAccessStrategy
public class NonStrictReadWriteEhcacheEntityRegionAccessStrategy extends java.lang.Object implements org.hibernate.cache.access.EntityRegionAccessStrategyEhcache specific non-strict read/write entity region access strategy- Author:
- Chris Dennis
-
-
Constructor Summary
Constructors Constructor Description NonStrictReadWriteEhcacheEntityRegionAccessStrategy(EhcacheEntityRegion region, org.hibernate.cfg.Settings settings)Create a non-strict read/write access strategy accessing the given collection region.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanafterInsert(java.lang.Object key, java.lang.Object value, java.lang.Object version)Returnsfalsesince this is a non-strict read/write cache access strategybooleanafterUpdate(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion, org.hibernate.cache.access.SoftLock lock)voidevict(java.lang.Object key)Remove the given mapping without regard to transactional safetyvoidevictAll()Remove all mappings without regard to transactional safetyjava.lang.Objectget(java.lang.Object key, long txTimestamp)org.hibernate.cache.EntityRegiongetRegion()booleaninsert(java.lang.Object key, java.lang.Object value, java.lang.Object version)Returnsfalsesince this is an asynchronous cache access strategy.org.hibernate.cache.access.SoftLocklockItem(java.lang.Object key, java.lang.Object version)Since this is a non-strict read/write strategy item locking is not used.org.hibernate.cache.access.SoftLocklockRegion()Region locks are not supported.booleanputFromLoad(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.booleanputFromLoad(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.voidremove(java.lang.Object key)A no-op since this is an asynchronous cache access strategy.voidremoveAll()Called to evict data from the entire regionvoidunlockItem(java.lang.Object key, org.hibernate.cache.access.SoftLock lock)Since this is a non-strict read/write strategy item locking is not used.voidunlockRegion(org.hibernate.cache.access.SoftLock lock)Region locks are not supported - perform a cache clear as a precaution.booleanupdate(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion)Removes the entry since this is a non-strict read/write cache strategy.
-
-
-
Field Detail
-
region
protected final T extends EhcacheTransactionalDataRegion region
The wrapped Hibernate cache region.
-
settings
protected final org.hibernate.cfg.Settings settings
The settings for this persistence unit.
-
-
Constructor Detail
-
NonStrictReadWriteEhcacheEntityRegionAccessStrategy
public NonStrictReadWriteEhcacheEntityRegionAccessStrategy(EhcacheEntityRegion region, org.hibernate.cfg.Settings settings)
Create a non-strict read/write access strategy accessing the given collection region.
-
-
Method Detail
-
getRegion
public org.hibernate.cache.EntityRegion getRegion()
- Specified by:
getRegionin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy
-
get
public java.lang.Object get(java.lang.Object key, long txTimestamp) throws org.hibernate.cache.CacheException- Specified by:
getin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
putFromLoad
public boolean putFromLoad(java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version, boolean minimalPutOverride) throws org.hibernate.cache.CacheExceptionThis method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.- Specified by:
putFromLoadin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object, boolean),CollectionRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object, boolean)
-
lockItem
public org.hibernate.cache.access.SoftLock lockItem(java.lang.Object key, java.lang.Object version) throws org.hibernate.cache.CacheExceptionSince this is a non-strict read/write strategy item locking is not used.- Specified by:
lockItemin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
unlockItem
public void unlockItem(java.lang.Object key, org.hibernate.cache.access.SoftLock lock) throws org.hibernate.cache.CacheExceptionSince this is a non-strict read/write strategy item locking is not used.- Specified by:
unlockItemin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
insert
public boolean insert(java.lang.Object key, java.lang.Object value, java.lang.Object version) throws org.hibernate.cache.CacheExceptionReturnsfalsesince this is an asynchronous cache access strategy.- Specified by:
insertin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
afterInsert
public boolean afterInsert(java.lang.Object key, java.lang.Object value, java.lang.Object version) throws org.hibernate.cache.CacheExceptionReturnsfalsesince this is a non-strict read/write cache access strategy- Specified by:
afterInsertin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
update
public boolean update(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion) throws org.hibernate.cache.CacheExceptionRemoves the entry since this is a non-strict read/write cache strategy.- Specified by:
updatein interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
afterUpdate
public boolean afterUpdate(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion, org.hibernate.cache.access.SoftLock lock) throws org.hibernate.cache.CacheException- Specified by:
afterUpdatein interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
remove
public void remove(java.lang.Object key) throws org.hibernate.cache.CacheExceptionA no-op since this is an asynchronous cache access strategy.- Specified by:
removein interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.remove(java.lang.Object),CollectionRegionAccessStrategy.remove(java.lang.Object)
-
putFromLoad
public final boolean putFromLoad(java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version) throws org.hibernate.cache.CacheExceptionThis method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object),CollectionRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object)
-
lockRegion
public final org.hibernate.cache.access.SoftLock lockRegion()
Region locks are not supported.- Returns:
null- See Also:
EntityRegionAccessStrategy.lockRegion(),CollectionRegionAccessStrategy.lockRegion()
-
unlockRegion
public final void unlockRegion(org.hibernate.cache.access.SoftLock lock) throws org.hibernate.cache.CacheExceptionRegion locks are not supported - perform a cache clear as a precaution.- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.unlockRegion(org.hibernate.cache.access.SoftLock),CollectionRegionAccessStrategy.unlockRegion(org.hibernate.cache.access.SoftLock)
-
removeAll
public final void removeAll() throws org.hibernate.cache.CacheExceptionCalled to evict data from the entire region- Throws:
org.hibernate.cache.CacheException- Propogated from underlyingRegion- See Also:
EntityRegionAccessStrategy.removeAll(),CollectionRegionAccessStrategy.removeAll()
-
evict
public final void evict(java.lang.Object key) throws org.hibernate.cache.CacheExceptionRemove the given mapping without regard to transactional safety- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.evict(java.lang.Object),CollectionRegionAccessStrategy.evict(java.lang.Object)
-
evictAll
public final void evictAll() throws org.hibernate.cache.CacheExceptionRemove all mappings without regard to transactional safety- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.evictAll(),CollectionRegionAccessStrategy.evictAll()
-
-