## org.hibernate.cache.ehcache.internal.strategy
Class ReadOnlyEhcacheCollectionRegionAccessStrategy

    java.lang.Object
      org.hibernate.cache.ehcache.internal.strategy.ReadOnlyEhcacheCollectionRegionAccessStrategy

All Implemented Interfaces:
  CollectionRegionAccessStrategy, RegionAccessStrategy

    public class ReadOnlyEhcacheCollectionRegionAccessStrategy

extends Object
implements CollectionRegionAccessStrategy

Ehcache specific read-only collection region access strategy

Field Summary
`protected T` `region` The wrapped Hibernate cache region.
`protected Settings` `settings` The settings for this persistence unit.

Constructor Summary
`ReadOnlyEhcacheCollectionRegionAccessStrategy(EhcacheCollectionRegion region, Settings settings)` Create a read-only access strategy accessing the given collection region.

Method Summary
`void` `evict(Object key)` Remove the given mapping without regard to transactional safety
`void` `evictAll()` Remove all mappings without regard to transactional safety
`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)` Throws UnsupportedOperationException since this cache is read-only
`SoftLock` `lockRegion()` Region locks are not supported.
`boolean` `putFromLoad(Object key, Object value, long txTimestamp, Object version)` This method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.
`boolean` `putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride)` This method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.
`void` `remove(Object key)` A no-op since this is an asynchronous cache access strategy.
`void` `removeAll()` Called to evict data from the entire region
`void` `unlockItem(Object key, SoftLock lock)` A no-op since this cache is read-only
`void` `unlockRegion(SoftLock lock)` Region locks are not supported - perform a cache clear as a precaution.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.hibernate.cache.spi.access.RegionAccessStrategy
`evict, evictAll, lockRegion, putFromLoad, remove, removeAll, unlockRegion`

Field Detail

### region

    protected final T extends EhcacheTransactionalDataRegion region

  The wrapped Hibernate cache region.

### settings

    protected final Settings settings

  The settings for this persistence unit.

Constructor Detail

### ReadOnlyEhcacheCollectionRegionAccessStrategy

    public ReadOnlyEhcacheCollectionRegionAccessStrategy(EhcacheCollectionRegion region,
                                                         Settings settings)

  Create a read-only access strategy accessing the given collection region.

Method Detail

### getRegion

    public CollectionRegion getRegion()

  Get the wrapped collection cache region

  Specified by:
    `getRegion` in interface `CollectionRegionAccessStrategy`
  Returns:
    The underlying region

### 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.

  Specified by:
    `get` in interface `RegionAccessStrategy`
  Parameters:
    `key` - The key of the item to be retrieved.
    `txTimestamp` - a timestamp prior to the transaction start time
  Returns:
    the cached object or `null`
  Throws:
    `CacheException` - Propogated from underlying `Region`

### putFromLoad

    public boolean putFromLoad(Object key,
                               Object value,
                               long txTimestamp,
                               Object version,
                               boolean minimalPutOverride)
                        throws CacheException

  This method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.

  Specified by:
    `putFromLoad` in interface `RegionAccessStrategy`
  Parameters:
    `key` - The item key
    `value` - The item
    `txTimestamp` - a timestamp prior to the transaction start time
    `version` - the item version number
    `minimalPutOverride` - Explicit minimalPut flag
  Returns:
    `true` if the object was successfully cached
  Throws:
    `CacheException` - Propogated from underlying `Region`
  See Also:
    `RegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object, boolean)`, `RegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object, boolean)`

### lockItem

    public SoftLock lockItem(Object key,
                             Object version)
                      throws UnsupportedOperationException

  Throws UnsupportedOperationException since this cache is read-only

  Specified by:
    `lockItem` in interface `RegionAccessStrategy`
  Parameters:
    `key` - The key of the item to lock
    `version` - The item's current version value
  Returns:
    A representation of our lock on the item; or null.
  Throws:
    `UnsupportedOperationException` - always

### unlockItem

    public void unlockItem(Object key,
                           SoftLock lock)
                    throws CacheException

  A no-op since this cache is read-only

  Specified by:
    `unlockItem` in interface `RegionAccessStrategy`
  Parameters:
    `key` - The item key
    `lock` - The lock previously obtained from `RegionAccessStrategy.lockItem(java.lang.Object, java.lang.Object)`
  Throws:
    `CacheException` - Propogated from underlying `Region`

### putFromLoad

    public final boolean putFromLoad(Object key,
                                     Object value,
                                     long txTimestamp,
                                     Object version)
                              throws CacheException

  This method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.

  Throws:
    `CacheException`
  See Also:
    `RegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object)`, `RegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object)`

### lockRegion

    public final SoftLock lockRegion()

  Region locks are not supported.

  Returns:
    `null`
  See Also:
    `RegionAccessStrategy.lockRegion()`, `RegionAccessStrategy.lockRegion()`

### unlockRegion

    public final void unlockRegion(SoftLock lock)
                            throws CacheException

  Region locks are not supported - perform a cache clear as a precaution.

  Throws:
    `CacheException`
  See Also:
    `RegionAccessStrategy.unlockRegion(org.hibernate.cache.spi.access.SoftLock)`, `RegionAccessStrategy.unlockRegion(org.hibernate.cache.spi.access.SoftLock)`

### remove

    public void remove(Object key)
                throws CacheException

  A no-op since this is an asynchronous cache access strategy.

  Throws:
    `CacheException`
  See Also:
    `RegionAccessStrategy.remove(java.lang.Object)`, `RegionAccessStrategy.remove(java.lang.Object)`

### removeAll

    public final void removeAll()
                         throws CacheException

  Called to evict data from the entire region

  Throws:
    `CacheException` - Propogated from underlying `Region`
  See Also:
    `RegionAccessStrategy.removeAll()`, `RegionAccessStrategy.removeAll()`

### evict

    public final void evict(Object key)
                     throws CacheException

  Remove the given mapping without regard to transactional safety

  Throws:
    `CacheException`
  See Also:
    `RegionAccessStrategy.evict(java.lang.Object)`, `RegionAccessStrategy.evict(java.lang.Object)`

### evictAll

    public final void evictAll()
                        throws CacheException

  Remove all mappings without regard to transactional safety

  Throws:
    `CacheException`
  See Also:
    `RegionAccessStrategy.evictAll()`, `RegionAccessStrategy.evictAll()`

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.