org.jboss.util
Class SynchronizedCachePolicy

java.lang.Object
  extended byorg.jboss.util.SynchronizedCachePolicy
All Implemented Interfaces:
CachePolicy (src)

public final class SynchronizedCachePolicy
extends java.lang.Object
implements CachePolicy (src)

A synchronized cache policy wrapper.

See Also:
CachePolicy (src)

Constructor Summary
SynchronizedCachePolicy(CachePolicy (src)  delegate)
           
 
Method Summary
 void create()
          create the service, do expensive operations etc
 void destroy()
          destroy the service, tear down
 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()
          Get the size of the cache.
 void start()
          start the service, create is already called
 void stop()
          stop the service
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SynchronizedCachePolicy

public SynchronizedCachePolicy(CachePolicy (src)  delegate)
Method Detail

get

public java.lang.Object get(java.lang.Object key)
Description copied from interface: CachePolicy (src)
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 (src)
Parameters:
key - the key paired with the object
See Also:
CachePolicy.peek(java.lang.Object)

peek

public java.lang.Object peek(java.lang.Object key)
Description copied from interface: CachePolicy (src)
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 (src)
Parameters:
key - the key paired with 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 (src)
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 (src)
Parameters:
key - the key paired with the object
object - the object to cache
See Also:
CachePolicy.remove(java.lang.Object)

remove

public void remove(java.lang.Object key)
Description copied from interface: CachePolicy (src)
Remove the cached object paired with the specified key.
Implementations of this method must have complexity of order O(1).

Specified by:
remove in interface CachePolicy (src)
Parameters:
key - the key paired with the object
See Also:
CachePolicy.insert(java.lang.Object, java.lang.Object)

flush

public void flush()
Description copied from interface: CachePolicy (src)
Flushes the cached objects from the cache.

Specified by:
flush in interface CachePolicy (src)

size

public int size()
Description copied from interface: CachePolicy (src)
Get the size of the cache.

Specified by:
size in interface CachePolicy (src)

create

public void create()
            throws java.lang.Exception
Description copied from interface: CachePolicy (src)
create the service, do expensive operations etc

Specified by:
create in interface CachePolicy (src)
Throws:
java.lang.Exception

start

public void start()
           throws java.lang.Exception
Description copied from interface: CachePolicy (src)
start the service, create is already called

Specified by:
start in interface CachePolicy (src)
Throws:
java.lang.Exception

stop

public void stop()
Description copied from interface: CachePolicy (src)
stop the service

Specified by:
stop in interface CachePolicy (src)

destroy

public void destroy()
Description copied from interface: CachePolicy (src)
destroy the service, tear down

Specified by:
destroy in interface CachePolicy (src)