ehcache

net.sf.ehcache.store
Interface Store

All Known Implementing Classes:
DiskStore, LruMemoryStore, MemoryStore

public interface Store

This is the interface for all stores. A store is a physical counterpart to a cache, which is a logical concept.

Version:
$Id: Store.java 1230 2009-09-25 23:04:31Z gbevin $
Author:
Greg Luck

Method Summary
 boolean bufferFull()
          Some store types, such as the disk stores can fill their write buffers if puts come in too fast.
 boolean containsKey(java.lang.Object key)
          A check to see if a key is in the Store.
 void dispose()
          Prepares for shutdown.
 void expireElements()
          Expire all elements.
 void flush()
          Flush elements to persistent store.
 Element get(java.lang.Object key)
          Gets an item from the cache.
 Policy getEvictionPolicy()
           
 java.lang.Object getInternalContext()
          This should not be used, and will generally return null
 java.lang.Object[] getKeyArray()
          Gets an Array of the keys for all elements in the disk store.
 Element getQuiet(java.lang.Object key)
          Gets an Element from the Store, without updating statistics
 int getSize()
          Returns the current local store size
 long getSizeInBytes()
          Gets the size of the store, in bytes.
 Status getStatus()
          Returns the cache status.
 int getTerracottaClusteredSize()
          Returns the current Terracotta clustered store size
 boolean isCacheCoherent()
          Indicates whether this store provides a coherent view of all the elements in a cache.
 void put(Element element)
          Puts an item into the store.
 Element remove(java.lang.Object key)
          Removes an item from the cache.
 void removeAll()
          Remove all of the elements from the store.
 void setEvictionPolicy(Policy policy)
          Sets the eviction policy strategy.
 

Method Detail

put

void put(Element element)
         throws CacheException
Puts an item into the store.

Throws:
CacheException

get

Element get(java.lang.Object key)
Gets an item from the cache.


getQuiet

Element getQuiet(java.lang.Object key)
Gets an Element from the Store, without updating statistics

Returns:
The element

getKeyArray

java.lang.Object[] getKeyArray()
Gets an Array of the keys for all elements in the disk store.

Returns:
An Object[] of Serializable keys

remove

Element remove(java.lang.Object key)
Removes an item from the cache.

Since:
signature changed in 1.2 from boolean to Element to support notifications

removeAll

void removeAll()
               throws CacheException
Remove all of the elements from the store.

If there are registered CacheEventListeners they are notified of the expiry or removal of the Element as each is removed.

Throws:
CacheException

dispose

void dispose()
Prepares for shutdown.


getSize

int getSize()
Returns the current local store size

Returns:
the count of the Elements in the Store on the local machine

getTerracottaClusteredSize

int getTerracottaClusteredSize()
Returns the current Terracotta clustered store size

Returns:
the count of the Elements in the Store across the cluster

getSizeInBytes

long getSizeInBytes()
Gets the size of the store, in bytes.

This method may be expensive to run, depending on implementation. Implementers may choose to return an approximate size.

Returns:
the approximate size of the store in bytes

getStatus

Status getStatus()
Returns the cache status.


containsKey

boolean containsKey(java.lang.Object key)
A check to see if a key is in the Store.

Parameters:
key - The Element key
Returns:
true if found. No check is made to see if the Element is expired. 1.2

expireElements

void expireElements()
Expire all elements.


flush

void flush()
           throws java.io.IOException
Flush elements to persistent store.

Throws:
java.io.IOException - if any IO error occurs

bufferFull

boolean bufferFull()
Some store types, such as the disk stores can fill their write buffers if puts come in too fast. The thread will wait for a short time before checking again.

Returns:
true if the store write buffer is backed up.

getEvictionPolicy

Policy getEvictionPolicy()
Returns:
the current eviction policy. This may not be the configured policy, if it has been dynamically set.
See Also:
setEvictionPolicy(Policy)

setEvictionPolicy

void setEvictionPolicy(Policy policy)
Sets the eviction policy strategy. The Store will use a policy at startup. The store may allow changing the eviction policy strategy dynamically. Otherwise implementations will throw an exception if this method is called.

Parameters:
policy - the new policy

getInternalContext

java.lang.Object getInternalContext()
This should not be used, and will generally return null

Returns:
some internal context (probably null)

isCacheCoherent

boolean isCacheCoherent()
Indicates whether this store provides a coherent view of all the elements in a cache.

Returns:
true if the store is coherent; or false if the store potentially splits the cache storage with another store or isn't internally coherent
Since:
1.7

ehcache

true