org.apache.jackrabbit.core.state
Class ItemStateReferenceCache

java.lang.Object
  extended by org.apache.jackrabbit.core.state.ItemStateReferenceCache
All Implemented Interfaces:
ItemStateCache, Dumpable

public class ItemStateReferenceCache
extends Object
implements ItemStateCache, Dumpable

ItemStateReferenceCache internally consists of 2 components:

This implementation of ItemStateCache is thread-safe.


Constructor Summary
ItemStateReferenceCache(ItemStateCache cache)
          Creates a new ItemStateReferenceCache that uses the specified ItemStateCache instance as internal secondary cache.
ItemStateReferenceCache(ItemStateCacheFactory cacheFactory)
          Creates a new ItemStateReferenceCache that uses a MLRUItemStateCache instance as internal secondary cache.
 
Method Summary
 void cache(ItemState state)
          Stores the specified ItemState object in the map using its ItemId as the key.
 void dispose()
          Informs the cache that it is no longer in use.
 void dump(PrintStream ps)
          Dumps the state of this instance in a human readable format for diagnostic purposes.
 void evict(ItemId id)
          Removes the ItemState object with the specified id from this cache if it is present.
 void evictAll()
          Clears all entries from this cache.
 boolean isCached(ItemId id)
          Returns true if this cache contains an ItemState object with the specified id.
 boolean isEmpty()
          Returns true if this cache contains no entries.
 ItemState retrieve(ItemId id)
          Returns the ItemState object with the specified id if it is present or null if no entry exists with that id.
 ItemState[] retrieveAll()
          Returns all the cached item states.
 void update(ItemId id)
          Informs the cache that the item was modified and the cache might need to recalculate the items caching weight.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ItemStateReferenceCache

public ItemStateReferenceCache(ItemStateCacheFactory cacheFactory)
Creates a new ItemStateReferenceCache that uses a MLRUItemStateCache instance as internal secondary cache.


ItemStateReferenceCache

public ItemStateReferenceCache(ItemStateCache cache)
Creates a new ItemStateReferenceCache that uses the specified ItemStateCache instance as internal secondary cache.

Parameters:
cache - secondary cache implementing a custom eviction policy
Method Detail

isCached

public boolean isCached(ItemId id)
Returns true if this cache contains an ItemState object with the specified id.

Specified by:
isCached in interface ItemStateCache
Parameters:
id - id of ItemState object whose presence should be tested.
Returns:
true if there's a corresponding cache entry, otherwise false.

retrieve

public ItemState retrieve(ItemId id)
Returns the ItemState object with the specified id if it is present or null if no entry exists with that id.

Specified by:
retrieve in interface ItemStateCache
Parameters:
id - the id of the ItemState object to be returned.
Returns:
the ItemState object with the specified id or or null if no entry exists with that id

retrieveAll

public ItemState[] retrieveAll()
Returns all the cached item states.

Specified by:
retrieveAll in interface ItemStateCache
Returns:
newly allocated item state array

cache

public void cache(ItemState state)
Stores the specified ItemState object in the map using its ItemId as the key.

Specified by:
cache in interface ItemStateCache
Parameters:
state - the ItemState object to cache

evict

public void evict(ItemId id)
Removes the ItemState object with the specified id from this cache if it is present.

Specified by:
evict in interface ItemStateCache
Parameters:
id - the id of the ItemState object which should be removed from this cache.

dispose

public void dispose()
Informs the cache that it is no longer in use.

Specified by:
dispose in interface ItemStateCache

evictAll

public void evictAll()
Clears all entries from this cache.

Specified by:
evictAll in interface ItemStateCache

update

public void update(ItemId id)
Informs the cache that the item was modified and the cache might need to recalculate the items caching weight.

Specified by:
update in interface ItemStateCache
Parameters:
id - the id of the item that was modified.

isEmpty

public boolean isEmpty()
Returns true if this cache contains no entries.

Specified by:
isEmpty in interface ItemStateCache
Returns:
true if this cache contains no entries.

dump

public void dump(PrintStream ps)
Dumps the state of this instance in a human readable format for diagnostic purposes.

Specified by:
dump in interface Dumpable
Parameters:
ps - stream to dump state to


Copyright © 2004-2008 The Apache Software Foundation. All Rights Reserved.