Package org.jboss.util
Interface CachePolicy
-
- All Known Implementing Classes:
LRUCachePolicy
,SynchronizedCachePolicy
,TimedCachePolicy
public interface CachePolicy
Interface that specifies a policy for caches.Implementation classes can implement a LRU policy, a random one, a MRU one, or any other suitable policy.
- Version:
- $Revision$
-
-
Method Summary
All Methods Instance Methods Abstract 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()
-
-
-
Method Detail
-
get
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.
Implementations of this method must have complexity of order O(1). Differently frompeek(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.- Parameters:
key
- the key paired with the object- Returns:
- the object
- See Also:
peek(java.lang.Object)
-
peek
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.
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 usingget(java.lang.Object)
.- Parameters:
key
- the key paired with the object- Returns:
- the object
- See Also:
get(java.lang.Object)
-
insert
void insert(java.lang.Object key, java.lang.Object object)
Inserts the specified object into the cache following the implemented policy.
Implementations of this method must have complexity of order O(1).- Parameters:
key
- the key paired with the objectobject
- the object to cache- See Also:
remove(java.lang.Object)
-
remove
void remove(java.lang.Object key)
Remove the cached object paired with the specified key.
Implementations of this method must have complexity of order O(1).- Parameters:
key
- the key paired with the object- See Also:
insert(java.lang.Object, java.lang.Object)
-
flush
void flush()
Flushes the cached objects from the cache.
-
size
int size()
- Returns:
- the size of the cache
-
create
void create() throws java.lang.Exception
- Throws:
java.lang.Exception
-
start
void start() throws java.lang.Exception
- Throws:
java.lang.Exception
-
stop
void stop()
-
destroy
void destroy()
-
-