Class ReadOnlyEhcacheEntityRegionAccessStrategy

  • All Implemented Interfaces:
    org.hibernate.cache.access.EntityRegionAccessStrategy

    public class ReadOnlyEhcacheEntityRegionAccessStrategy
    extends java.lang.Object
    implements org.hibernate.cache.access.EntityRegionAccessStrategy
    Ehcache specific read-only entity region access strategy
    Author:
    Chris Dennis
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected T region
      The wrapped Hibernate cache region.
      protected org.hibernate.cfg.Settings settings
      The settings for this persistence unit.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean afterInsert​(java.lang.Object key, java.lang.Object value, java.lang.Object version)
      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 UnsupportedOperationException since this cache is read-only
      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 get​(java.lang.Object key, long txTimestamp)
      org.hibernate.cache.EntityRegion getRegion()
      boolean insert​(java.lang.Object key, java.lang.Object value, java.lang.Object version)
      This cache is asynchronous hence a no-op
      org.hibernate.cache.access.SoftLock lockItem​(java.lang.Object key, java.lang.Object version)
      Throws UnsupportedOperationException since this cache is read-only
      org.hibernate.cache.access.SoftLock lockRegion()
      Region locks are not supported.
      boolean putFromLoad​(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​(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.
      void remove​(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
      void unlockItem​(java.lang.Object key, org.hibernate.cache.access.SoftLock lock)
      A no-op since this cache is read-only
      void unlockRegion​(org.hibernate.cache.access.SoftLock lock)
      Region locks are not supported - perform a cache clear as a precaution.
      boolean update​(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion)
      Throws UnsupportedOperationException since this cache is read-only
      • 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.access.EntityRegionAccessStrategy

        evict, evictAll, lockRegion, putFromLoad, remove, removeAll, unlockRegion
    • Field Detail

      • settings

        protected final org.hibernate.cfg.Settings settings
        The settings for this persistence unit.
    • Constructor Detail

      • ReadOnlyEhcacheEntityRegionAccessStrategy

        public ReadOnlyEhcacheEntityRegionAccessStrategy​(EhcacheEntityRegion region,
                                                         org.hibernate.cfg.Settings settings)
        Create a read-only access strategy accessing the given entity region.
    • Method Detail

      • getRegion

        public org.hibernate.cache.EntityRegion getRegion()
        Specified by:
        getRegion in interface org.hibernate.cache.access.EntityRegionAccessStrategy
      • get

        public java.lang.Object get​(java.lang.Object key,
                                    long txTimestamp)
                             throws org.hibernate.cache.CacheException
        Specified by:
        get in interface org.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.CacheException
        This method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.
        Specified by:
        putFromLoad in interface org.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 java.lang.UnsupportedOperationException
        Throws UnsupportedOperationException since this cache is read-only
        Specified by:
        lockItem in interface org.hibernate.cache.access.EntityRegionAccessStrategy
        Throws:
        java.lang.UnsupportedOperationException - always
      • unlockItem

        public void unlockItem​(java.lang.Object key,
                               org.hibernate.cache.access.SoftLock lock)
                        throws org.hibernate.cache.CacheException
        A no-op since this cache is read-only
        Specified by:
        unlockItem in interface org.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.CacheException
        This cache is asynchronous hence a no-op
        Specified by:
        insert in interface org.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.CacheException
        Specified by:
        afterInsert in interface org.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 java.lang.UnsupportedOperationException
        Throws UnsupportedOperationException since this cache is read-only
        Specified by:
        update in interface org.hibernate.cache.access.EntityRegionAccessStrategy
        Throws:
        java.lang.UnsupportedOperationException - always
      • 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 java.lang.UnsupportedOperationException
        Throws UnsupportedOperationException since this cache is read-only
        Specified by:
        afterUpdate in interface org.hibernate.cache.access.EntityRegionAccessStrategy
        Throws:
        java.lang.UnsupportedOperationException - always
      • putFromLoad

        public final boolean putFromLoad​(java.lang.Object key,
                                         java.lang.Object value,
                                         long txTimestamp,
                                         java.lang.Object version)
                                  throws org.hibernate.cache.CacheException
        This 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.CacheException
        Region 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)
      • remove

        public void remove​(java.lang.Object key)
                    throws org.hibernate.cache.CacheException
        A no-op since this is an asynchronous cache access strategy.
        Throws:
        org.hibernate.cache.CacheException
        See Also:
        EntityRegionAccessStrategy.remove(java.lang.Object), CollectionRegionAccessStrategy.remove(java.lang.Object)
      • removeAll

        public final void removeAll()
                             throws org.hibernate.cache.CacheException
        Called to evict data from the entire region
        Throws:
        org.hibernate.cache.CacheException - Propogated from underlying Region
        See Also:
        EntityRegionAccessStrategy.removeAll(), CollectionRegionAccessStrategy.removeAll()
      • evict

        public final void evict​(java.lang.Object key)
                         throws org.hibernate.cache.CacheException
        Remove 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.CacheException
        Remove all mappings without regard to transactional safety
        Throws:
        org.hibernate.cache.CacheException
        See Also:
        EntityRegionAccessStrategy.evictAll(), CollectionRegionAccessStrategy.evictAll()