Class SynchronizedCachePolicy

  • All Implemented Interfaces:
    CachePolicy

    public final class SynchronizedCachePolicy
    extends java.lang.Object
    implements CachePolicy
    A synchronized cache policy wrapper.
    Version:
    $Revision$
    See Also:
    CachePolicy
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void create()  
      void destroy()  
      void flush()
      Flushes the cached objects from the cache.
      java.lang.Object get​(java.lang.Object key)
      Returns the object paired with the specified key if it's present in the cache, otherwise must return null.
      void insert​(java.lang.Object key, java.lang.Object object)
      Inserts the specified object into the cache following the implemented policy.
      java.lang.Object peek​(java.lang.Object key)
      Returns the object paired with the specified key if it's present in the cache, otherwise must return null.
      void remove​(java.lang.Object key)
      Remove the cached object paired with the specified key.
      int size()  
      void start()  
      void stop()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SynchronizedCachePolicy

        public SynchronizedCachePolicy​(CachePolicy delegate)
    • Method Detail

      • get

        public java.lang.Object get​(java.lang.Object key)
        Description copied from interface: CachePolicy
        Returns the object paired with the specified key if it's present in the cache, otherwise must return null.
        Implementations of this method must have complexity of order O(1). Differently from CachePolicy.peek(java.lang.Object) this method not only return whether the object is present in the cache or not, but also applies the implemented policy that will "refresh" the cached object in the cache, because this cached object was really requested.
        Specified by:
        get in interface CachePolicy
        Parameters:
        key - the key paired with the object
        Returns:
        the object
        See Also:
        CachePolicy.peek(java.lang.Object)
      • peek

        public java.lang.Object peek​(java.lang.Object key)
        Description copied from interface: CachePolicy
        Returns the object paired with the specified key if it's present in the cache, otherwise must return null.
        Implementations of this method must have complexity of order O(1). This method should not apply the implemented caching policy to the object paired with the given key, so that a client can query if an object is cached without "refresh" its cache status. Real requests for the object must be done using CachePolicy.get(java.lang.Object).
        Specified by:
        peek in interface CachePolicy
        Parameters:
        key - the key paired with the object
        Returns:
        the object
        See Also:
        CachePolicy.get(java.lang.Object)
      • insert

        public void insert​(java.lang.Object key,
                           java.lang.Object object)
        Description copied from interface: CachePolicy
        Inserts the specified object into the cache following the implemented policy.
        Implementations of this method must have complexity of order O(1).
        Specified by:
        insert in interface CachePolicy
        Parameters:
        key - the key paired with the object
        object - the object to cache
        See Also:
        CachePolicy.remove(java.lang.Object)
      • flush

        public void flush()
        Description copied from interface: CachePolicy
        Flushes the cached objects from the cache.
        Specified by:
        flush in interface CachePolicy
      • size

        public int size()
        Specified by:
        size in interface CachePolicy
        Returns:
        the size of the cache
      • create

        public void create()
                    throws java.lang.Exception
        Specified by:
        create in interface CachePolicy
        Throws:
        java.lang.Exception
      • start

        public void start()
                   throws java.lang.Exception
        Specified by:
        start in interface CachePolicy
        Throws:
        java.lang.Exception