Top Description Fields Constructors Methods
net.sf.ehcache.store

pack-priv abstract Class AbstractCopyingCacheStore<T extends net.sf.ehcache.store.Store>

extends Object
implements Store
Class Inheritance
All Implemented Interfaces
net.sf.ehcache.store.Store
Known Direct Subclasses
net.sf.ehcache.store.CopyingCacheStore, net.sf.ehcache.store.TerracottaTransactionalCopyingCacheStore, net.sf.ehcache.store.TxCopyingCacheStore
Type Parameters
<T>
the store type it wraps
Imports
net.sf.ehcache.CacheException, .Element, .Status, net.sf.ehcache.search.Attribute, .Results, .SearchException, net.sf.ehcache.search.attribute.AttributeExtractor, net.sf.ehcache.store.compound.ReadWriteCopyStrategy, net.sf.ehcache.terracotta.TerracottaNotRunningException, net.sf.ehcache.writer.CacheWriterManager, org.terracotta.context.annotations.ContextChild, java.io.IOException, java.util.Collection, .HashMap, .List, .Map, .Set

Copies elements, either on read, write or both before using the underlying store to actually store things When copying both ways, the store might not see the same types being stored
Author
Alex Snaps

Field Summary

Modifier and TypeField and Description
private final CopyStrategyHandler
private final T

Constructor Summary

AccessConstructor and Description
public
AbstractCopyingCacheStore(final T
the real store
store
,
final boolean
whether to copy on reads
copyOnRead
,
final boolean
whether to copy on writes
copyOnWrite
,
final ReadWriteCopyStrategy<Element>
the copy strategy to use on every copy operation
copyStrategyInstance
,
ClassLoader
classloader of the containing cache
loader
)

Creates a copying instance of store, that wraps the actual storage

Method Summary

Modifier and TypeMethod and Description
public void
addStoreListener(final StoreListener listener)

Implements net.sf.ehcache.store.Store.addStoreListener.

Add a listener to the store.
public boolean
bufferFull()

Implements net.sf.ehcache.store.Store.bufferFull.

Some store types, such as the disk stores can fill their write buffers if puts come in too fast.
public boolean
containsKey(final Object
The Element key
key
)

Implements net.sf.ehcache.store.Store.containsKey.

A check to see if a key is in the Store.
public boolean
containsKeyInMemory(final Object
The Element key
key
)

Implements net.sf.ehcache.store.Store.containsKeyInMemory.

A check to see if a key is in the Store and is currently held in memory.
public boolean
containsKeyOffHeap(final Object
The Element key
key
)

Implements net.sf.ehcache.store.Store.containsKeyOffHeap.

A check to see if a key is in the Store and is currently held off-heap.
public boolean
containsKeyOnDisk(final Object
The Element key
key
)

Implements net.sf.ehcache.store.Store.containsKeyOnDisk.

A check to see if a key is in the Store and is currently held on disk.
public void
dispose()

Implements net.sf.ehcache.store.Store.dispose.

Prepares for shutdown.
public Results
executeQuery(final StoreQuery
query to execute
query
)

Implements net.sf.ehcache.store.Store.executeQuery.

Execute the given query on this store
public void
public void
flush()

Implements net.sf.ehcache.store.Store.flush.

Flush elements to persistent store.
public Element
get(final Object key)

Implements net.sf.ehcache.store.Store.get.

Gets an item from the cache.
public Map<Object, Element>
getAll(final Collection<?>
a collection of keys to look for
keys
)

Implements net.sf.ehcache.store.Store.getAll.

Retries the elements associated with a set of keys and update the statistics Keys which are not present in the cache will have null values associated with them in the returned map
public Map<Object, Element>
getAllQuiet(final Collection<?>
a collection of keys to look for
keys
)

Implements net.sf.ehcache.store.Store.getAllQuiet.

Retries the elements associated with a set of keys without updating the statistics Keys which are not present in the cache will have null values associated with them in the returned map
protected CopyStrategyHandler

Returns:

the copy strategy handler
getCopyStrategyHandler
()

Accessor to the CopyStrategyHandler

public Policy
public int
getInMemorySize()

Implements net.sf.ehcache.store.Store.getInMemorySize.

Returns the current local in-memory store size
public long
getInMemorySizeInBytes()

Implements net.sf.ehcache.store.Store.getInMemorySizeInBytes.

Gets the size of the in-memory portion of the store, in bytes.
public Object
getInternalContext()

Implements net.sf.ehcache.store.Store.getInternalContext.

This should not be used, and will generally return null
public List<E>
getKeys()

Implements net.sf.ehcache.store.Store.getKeys.

Gets an Array of the keys for all elements in the disk store.
public Object
getMBean()

Implements net.sf.ehcache.store.Store.getMBean.

Optional implementation specific MBean exposed by the store.
public int
getOffHeapSize()

Implements net.sf.ehcache.store.Store.getOffHeapSize.

Returns the current local off-heap store size
public long
getOffHeapSizeInBytes()

Implements net.sf.ehcache.store.Store.getOffHeapSizeInBytes.

Gets the size of the off-heap portion of the store, in bytes.
public int
getOnDiskSize()

Implements net.sf.ehcache.store.Store.getOnDiskSize.

Returns the current local on-disk store size
public long
getOnDiskSizeInBytes()

Implements net.sf.ehcache.store.Store.getOnDiskSizeInBytes.

Gets the size of the on-disk portion of the store, in bytes.
public Element
getQuiet(final Object key)

Implements net.sf.ehcache.store.Store.getQuiet.

Gets an Element from the Store, without updating statistics
public <S> Attribute<S>
getSearchAttribute(final String
the name of the attribute to retrieve
attributeName
)

Implements net.sf.ehcache.store.Store.getSearchAttribute.

Retrieve the given named search attribute
public Set<Attribute<T>>
public int
getSize()

Implements net.sf.ehcache.store.Store.getSize.

Returns the current local store size
public Status
getStatus()

Implements net.sf.ehcache.store.Store.getStatus.

Returns the cache status.
public int
getTerracottaClusteredSize()

Implements net.sf.ehcache.store.Store.getTerracottaClusteredSize.

Returns the current Terracotta clustered store size
public T

Returns:

the underlying store
getUnderlyingStore
()

Accessor to the underlying store

public boolean
hasAbortedSizeOf()

Implements net.sf.ehcache.store.Store.hasAbortedSizeOf.

Checks if the cache may contain elements for which the SizeOf engine gave up and only partially calculated the size.
public boolean
isCacheCoherent()

Implements net.sf.ehcache.store.Store.isCacheCoherent.

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

Implements net.sf.ehcache.store.Store.isClusterCoherent.

Returns true if the cache is in coherent mode cluster-wide.
public boolean
isNodeCoherent()

Implements net.sf.ehcache.store.Store.isNodeCoherent.

Returns true if the cache is in coherent mode for the current node.
public boolean
put(final Element e)

Implements net.sf.ehcache.store.Store.put.

Puts an item into the store.
public void
putAll(final Collection<Element>
Collection of elements to be put in the store
elements
)

Implements net.sf.ehcache.store.Store.putAll.

Puts a collection of elements into the store.
public Element
putIfAbsent(final Element
element to be added
element
)

Implements net.sf.ehcache.store.Store.putIfAbsent.

Put an element in the store if no element is currently mapped to the elements key.
public boolean
putWithWriter(final Element element, final CacheWriterManager writerManager)

Implements net.sf.ehcache.store.Store.putWithWriter.

Puts an item into the store and the cache writer manager in an atomic operation
public void
recalculateSize(final Object
the key
key
)

Implements net.sf.ehcache.store.Store.recalculateSize.

Recalculate size of the element mapped to the key
public Element
remove(final Object key)

Implements net.sf.ehcache.store.Store.remove.

Removes an item from the cache.
public void
removeAll(final Collection<?> keys)

Implements net.sf.ehcache.store.Store.removeAll.

Removes a collection of elements from the cache.
public void
removeAll()

Implements net.sf.ehcache.store.Store.removeAll.

Remove all of the elements from the store.
public Element
removeElement(final Element
Element to be removed
element
,
final ElementValueComparator
ElementValueComparator to use to compare elements
comparator
)

Implements net.sf.ehcache.store.Store.removeElement.

Remove the Element mapped to the key for the supplied element if the value of the supplied Element is equal to the value of the cached Element.
public void
removeStoreListener(final StoreListener listener)

Implements net.sf.ehcache.store.Store.removeStoreListener.

Remove listener from store.
public Element
removeWithWriter(final Object key, final CacheWriterManager writerManager)

Implements net.sf.ehcache.store.Store.removeWithWriter.

Removes an item from the store and the cache writer manager in an atomic operation.
public boolean
replace(final Element
Element to be test against
old
,
final Element
Element to be cached
element
,
final ElementValueComparator
ElementValueComparator to use to compare elements
comparator
)

Implements net.sf.ehcache.store.Store.replace.

Replace the cached element only if the value of the current Element is equal to the value of the supplied old Element.
public Element
replace(final Element
Element to be cached
element
)

Implements net.sf.ehcache.store.Store.replace.

Replace the cached element only if an Element is currently cached for this key
public void
setAttributeExtractors(final Map<String, AttributeExtractor> extractors)

Implements net.sf.ehcache.store.Store.setAttributeExtractors.

Inform this store of the configured attribute extractors.
public void
setInMemoryEvictionPolicy(final Policy
the new policy
policy
)

Implements net.sf.ehcache.store.Store.setInMemoryEvictionPolicy.

Sets the eviction policy strategy.
public void
setNodeCoherent(final boolean
true transitions to coherent mode, false to incoherent mode
coherent
)

Implements net.sf.ehcache.store.Store.setNodeCoherent.

Sets the cache in coherent or incoherent mode for the current node depending on the parameter.
public void
waitUntilClusterCoherent()

Implements net.sf.ehcache.store.Store.waitUntilClusterCoherent.

This method waits until the cache is in coherent mode in all the connected nodes.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

copyStrategyHandlerback to summary
private final CopyStrategyHandler copyStrategyHandler
storeback to summary
private final T store
Annotations
@ContextChild

Constructor Detail

AbstractCopyingCacheStoreback to summary
public AbstractCopyingCacheStore(final T store, final boolean copyOnRead, final boolean copyOnWrite, final ReadWriteCopyStrategy<Element> copyStrategyInstance, ClassLoader loader)

Creates a copying instance of store, that wraps the actual storage

Parameters
store:T

the real store

copyOnRead:boolean

whether to copy on reads

copyOnWrite:boolean

whether to copy on writes

copyStrategyInstance:ReadWriteCopyStrategy<Element>

the copy strategy to use on every copy operation

loader:ClassLoader

classloader of the containing cache

Method Detail

addStoreListenerback to summary
public void addStoreListener(final StoreListener listener)

Implements net.sf.ehcache.store.Store.addStoreListener.

Doc from net.sf.ehcache.store.Store.addStoreListener.

Add a listener to the store.

Annotations
@Override
bufferFullback to summary
public boolean bufferFull()

Implements net.sf.ehcache.store.Store.bufferFull.

Doc from net.sf.ehcache.store.Store.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:boolean

true if the store write buffer is backed up.

Annotations
@Override
containsKeyback to summary
public boolean containsKey(final Object key)

Implements net.sf.ehcache.store.Store.containsKey.

Doc from net.sf.ehcache.store.Store.containsKey.

A check to see if a key is in the Store.

Parameters
key:Object

The Element key

Returns:boolean

true if found. No check is made to see if the Element is expired. 1.2

Annotations
@Override
containsKeyInMemoryback to summary
public boolean containsKeyInMemory(final Object key)

Implements net.sf.ehcache.store.Store.containsKeyInMemory.

Doc from net.sf.ehcache.store.Store.containsKeyInMemory.

A check to see if a key is in the Store and is currently held in memory.

Parameters
key:Object

The Element key

Returns:boolean

true if found. No check is made to see if the Element is expired.

Annotations
@Override
containsKeyOffHeapback to summary
public boolean containsKeyOffHeap(final Object key)

Implements net.sf.ehcache.store.Store.containsKeyOffHeap.

Doc from net.sf.ehcache.store.Store.containsKeyOffHeap.

A check to see if a key is in the Store and is currently held off-heap.

Parameters
key:Object

The Element key

Returns:boolean

true if found. No check is made to see if the Element is expired.

Annotations
@Override
containsKeyOnDiskback to summary
public boolean containsKeyOnDisk(final Object key)

Implements net.sf.ehcache.store.Store.containsKeyOnDisk.

Doc from net.sf.ehcache.store.Store.containsKeyOnDisk.

A check to see if a key is in the Store and is currently held on disk.

Parameters
key:Object

The Element key

Returns:boolean

true if found. No check is made to see if the Element is expired.

Annotations
@Override
disposeback to summary
public void dispose()

Implements net.sf.ehcache.store.Store.dispose.

Doc from net.sf.ehcache.store.Store.dispose.

Prepares for shutdown.

Annotations
@Override
executeQueryback to summary
public Results executeQuery(final StoreQuery query) throws SearchException

Implements net.sf.ehcache.store.Store.executeQuery.

Doc from net.sf.ehcache.store.Store.executeQuery.

Execute the given query on this store

Parameters
query:StoreQuery

query to execute

Returns:Results

query results

Annotations
@Override
expireElementsback to summary
public void expireElements()

Implements net.sf.ehcache.store.Store.expireElements.

Doc from net.sf.ehcache.store.Store.expireElements.

Expire all elements.

Annotations
@Override
flushback to summary
public void flush() throws IOException

Implements net.sf.ehcache.store.Store.flush.

Doc from net.sf.ehcache.store.Store.flush.

Flush elements to persistent store.

Annotations
@Override
Exceptions
IOException:
if any IO error occurs
getback to summary
public Element get(final Object key)

Implements net.sf.ehcache.store.Store.get.

Doc from net.sf.ehcache.store.Store.get.

Gets an item from the cache.

Annotations
@Override
getAllback to summary
public Map<Object, Element> getAll(final Collection<?> keys)

Implements net.sf.ehcache.store.Store.getAll.

Doc from net.sf.ehcache.store.Store.getAll.

Retries the elements associated with a set of keys and update the statistics Keys which are not present in the cache will have null values associated with them in the returned map

Parameters
keys:Collection<?>

a collection of keys to look for

Returns:Map<Object, Element>

a map of keys and their corresponding values

Annotations
@Override
getAllQuietback to summary
public Map<Object, Element> getAllQuiet(final Collection<?> keys)

Implements net.sf.ehcache.store.Store.getAllQuiet.

Doc from net.sf.ehcache.store.Store.getAllQuiet.

Retries the elements associated with a set of keys without updating the statistics Keys which are not present in the cache will have null values associated with them in the returned map

Parameters
keys:Collection<?>

a collection of keys to look for

Returns:Map<Object, Element>

a map of keys and their corresponding values

Annotations
@Override
getCopyStrategyHandlerback to summary
protected CopyStrategyHandler getCopyStrategyHandler()

Accessor to the CopyStrategyHandler

Returns:CopyStrategyHandler

the copy strategy handler

getInMemoryEvictionPolicyback to summary
public Policy getInMemoryEvictionPolicy()

Implements net.sf.ehcache.store.Store.getInMemoryEvictionPolicy.

Returns:Policy

Doc from net.sf.ehcache.store.Store.getInMemoryEvictionPolicy.

the current eviction policy. This may not be the configured policy, if it has been dynamically set.

Annotations
@Override
getInMemorySizeback to summary
public int getInMemorySize()

Implements net.sf.ehcache.store.Store.getInMemorySize.

Doc from net.sf.ehcache.store.Store.getInMemorySize.

Returns the current local in-memory store size

Returns:int

the count of the Elements in the Store and in-memory on the local machine

Annotations
@Override
getInMemorySizeInBytesback to summary
public long getInMemorySizeInBytes()

Implements net.sf.ehcache.store.Store.getInMemorySizeInBytes.

Doc from net.sf.ehcache.store.Store.getInMemorySizeInBytes.

Gets the size of the in-memory portion of the store, in bytes.

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

Returns:long

the approximate in-memory size of the store in bytes

Annotations
@Override
getInternalContextback to summary
public Object getInternalContext()

Implements net.sf.ehcache.store.Store.getInternalContext.

Doc from net.sf.ehcache.store.Store.getInternalContext.

This should not be used, and will generally return null

Returns:Object

some internal context (probably null)

Annotations
@Override
getKeysback to summary
public List<E> getKeys()

Implements net.sf.ehcache.store.Store.getKeys.

Doc from net.sf.ehcache.store.Store.getKeys.

Gets an Array of the keys for all elements in the disk store.

Returns:List<E>

An List of java.io.Serializable keys

Annotations
@Override
getMBeanback to summary
public Object getMBean()

Implements net.sf.ehcache.store.Store.getMBean.

Doc from net.sf.ehcache.store.Store.getMBean.

Optional implementation specific MBean exposed by the store.

Returns:Object

implementation specific management bean

Annotations
@Override
getOffHeapSizeback to summary
public int getOffHeapSize()

Implements net.sf.ehcache.store.Store.getOffHeapSize.

Doc from net.sf.ehcache.store.Store.getOffHeapSize.

Returns the current local off-heap store size

Returns:int

the count of the Elements in the Store and off-heap on the local machine

Annotations
@Override
getOffHeapSizeInBytesback to summary
public long getOffHeapSizeInBytes()

Implements net.sf.ehcache.store.Store.getOffHeapSizeInBytes.

Doc from net.sf.ehcache.store.Store.getOffHeapSizeInBytes.

Gets the size of the off-heap portion of the store, in bytes.

Returns:long

the approximate off-heap size of the store in bytes

Annotations
@Override
getOnDiskSizeback to summary
public int getOnDiskSize()

Implements net.sf.ehcache.store.Store.getOnDiskSize.

Doc from net.sf.ehcache.store.Store.getOnDiskSize.

Returns the current local on-disk store size

Returns:int

the count of the Elements in the Store and on-disk on the local machine

Annotations
@Override
getOnDiskSizeInBytesback to summary
public long getOnDiskSizeInBytes()

Implements net.sf.ehcache.store.Store.getOnDiskSizeInBytes.

Doc from net.sf.ehcache.store.Store.getOnDiskSizeInBytes.

Gets the size of the on-disk portion of the store, in bytes.

Returns:long

the on-disk size of the store in bytes

Annotations
@Override
getQuietback to summary
public Element getQuiet(final Object key)

Implements net.sf.ehcache.store.Store.getQuiet.

Doc from net.sf.ehcache.store.Store.getQuiet.

Gets an Element from the Store, without updating statistics

Returns:Element

The element

Annotations
@Override
getSearchAttributeback to summary
public <S> Attribute<S> getSearchAttribute(final String attributeName)

Implements net.sf.ehcache.store.Store.getSearchAttribute.

Doc from net.sf.ehcache.store.Store.getSearchAttribute.

Retrieve the given named search attribute

Parameters
<S>
type of the attribute
attributeName:String

the name of the attribute to retrieve

Returns:Attribute<S>

the search attribute or null if non-existent

Annotations
@Override
getSearchAttributesback to summary
public Set<Attribute<T>> getSearchAttributes()

Implements net.sf.ehcache.store.Store.getSearchAttributes.

Returns:Set<Attribute<T>>

Doc from net.sf.ehcache.store.Store.getSearchAttributes.

all search attributes known to this store at the time of invoking the method

Annotations
@Override
getSizeback to summary
public int getSize()

Implements net.sf.ehcache.store.Store.getSize.

Doc from net.sf.ehcache.store.Store.getSize.

Returns the current local store size

Returns:int

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

Annotations
@Override
getStatusback to summary
public Status getStatus()

Implements net.sf.ehcache.store.Store.getStatus.

Doc from net.sf.ehcache.store.Store.getStatus.

Returns the cache status.

Annotations
@Override
getTerracottaClusteredSizeback to summary
public int getTerracottaClusteredSize()

Implements net.sf.ehcache.store.Store.getTerracottaClusteredSize.

Doc from net.sf.ehcache.store.Store.getTerracottaClusteredSize.

Returns the current Terracotta clustered store size

Returns:int

the count of the Elements in the Store across the cluster

Annotations
@Override
getUnderlyingStoreback to summary
public T getUnderlyingStore()

Accessor to the underlying store

Returns:T

the underlying store

hasAbortedSizeOfback to summary
public boolean hasAbortedSizeOf()

Implements net.sf.ehcache.store.Store.hasAbortedSizeOf.

Doc from net.sf.ehcache.store.Store.hasAbortedSizeOf.

Checks if the cache may contain elements for which the SizeOf engine gave up and only partially calculated the size.

Returns:boolean

true if at least one partially sized element may be in the cache

Annotations
@Override
isCacheCoherentback to summary
public boolean isCacheCoherent()

Implements net.sf.ehcache.store.Store.isCacheCoherent.

Doc from net.sf.ehcache.store.Store.isCacheCoherent.

Indicates whether this store provides a coherent view of all the elements in a cache. Note that this is same as calling isClusterCoherent() (introduced since 2.0) Use isNodeCoherent() to find out if the cache is coherent in the current node in the cluster

Returns:boolean

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

Annotations
@Override
isClusterCoherentback to summary
public boolean isClusterCoherent() throws TerracottaNotRunningException

Implements net.sf.ehcache.store.Store.isClusterCoherent.

Doc from net.sf.ehcache.store.Store.isClusterCoherent.

Returns true if the cache is in coherent mode cluster-wide. Returns false otherwise.

It applies to coherent clustering mechanisms only e.g. Terracotta

Returns:boolean

true if the cache is in coherent mode cluster-wide, false otherwise

Annotations
@Override
isNodeCoherentback to summary
public boolean isNodeCoherent() throws TerracottaNotRunningException

Implements net.sf.ehcache.store.Store.isNodeCoherent.

Doc from net.sf.ehcache.store.Store.isNodeCoherent.

Returns true if the cache is in coherent mode for the current node. Returns false otherwise.

It applies to coherent clustering mechanisms only e.g. Terracotta

Returns:boolean

true if the cache is in coherent mode cluster-wide, false otherwise

Annotations
@Override
putback to summary
public boolean put(final Element e) throws CacheException

Implements net.sf.ehcache.store.Store.put.

Doc from net.sf.ehcache.store.Store.put.

Puts an item into the store.

Returns:boolean

true if this is a new put for the key or element is null. Returns false if it was an update.

Annotations
@Override
putAllback to summary
public void putAll(final Collection<Element> elements) throws CacheException

Implements net.sf.ehcache.store.Store.putAll.

Doc from net.sf.ehcache.store.Store.putAll.

Puts a collection of elements into the store.

Parameters
elements:Collection<Element>

Collection of elements to be put in the store

Annotations
@Override
putIfAbsentback to summary
public Element putIfAbsent(final Element element) throws NullPointerException

Implements net.sf.ehcache.store.Store.putIfAbsent.

Doc from net.sf.ehcache.store.Store.putIfAbsent.

Put an element in the store if no element is currently mapped to the elements key.

Parameters
element:Element

element to be added

Returns:Element

the element previously cached for this key, or null if none.

Annotations
@Override
Exceptions
NullPointerException:
if the element is null, or has a null key
putWithWriterback to summary
public boolean putWithWriter(final Element element, final CacheWriterManager writerManager) throws CacheException

Implements net.sf.ehcache.store.Store.putWithWriter.

Doc from net.sf.ehcache.store.Store.putWithWriter.

Puts an item into the store and the cache writer manager in an atomic operation

Returns:boolean

true if this is a new put for the key or element is null. Returns false if it was an update.

Annotations
@Override
recalculateSizeback to summary
public void recalculateSize(final Object key)

Implements net.sf.ehcache.store.Store.recalculateSize.

Doc from net.sf.ehcache.store.Store.recalculateSize.

Recalculate size of the element mapped to the key

Parameters
key:Object

the key

Annotations
@Override
removeback to summary
public Element remove(final Object key)

Implements net.sf.ehcache.store.Store.remove.

Doc from net.sf.ehcache.store.Store.remove.

Removes an item from the cache.

Annotations
@Override
removeAllback to summary
public void removeAll(final Collection<?> keys)

Implements net.sf.ehcache.store.Store.removeAll.

Doc from net.sf.ehcache.store.Store.removeAll.

Removes a collection of elements from the cache.

Annotations
@Override
removeAllback to summary
public void removeAll() throws CacheException

Implements net.sf.ehcache.store.Store.removeAll.

Doc from net.sf.ehcache.store.Store.removeAll.

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.

Annotations
@Override
removeElementback to summary
public Element removeElement(final Element element, final ElementValueComparator comparator) throws NullPointerException

Implements net.sf.ehcache.store.Store.removeElement.

Doc from net.sf.ehcache.store.Store.removeElement.

Remove the Element mapped to the key for the supplied element if the value of the supplied Element is equal to the value of the cached Element. This is a CAS operation. It is consistent even against a distributed cache that is not coherent. If the old value is stale when this operation is attempted the remove does not take place.

Parameters
element:Element

Element to be removed

comparator:ElementValueComparator

ElementValueComparator to use to compare elements

Returns:Element

the Element removed or null if no Element was removed

Annotations
@Override
Exceptions
NullPointerException:
if the element is null, or has a null key
removeStoreListenerback to summary
public void removeStoreListener(final StoreListener listener)

Implements net.sf.ehcache.store.Store.removeStoreListener.

Doc from net.sf.ehcache.store.Store.removeStoreListener.

Remove listener from store.

Annotations
@Override
removeWithWriterback to summary
public Element removeWithWriter(final Object key, final CacheWriterManager writerManager) throws CacheException

Implements net.sf.ehcache.store.Store.removeWithWriter.

Doc from net.sf.ehcache.store.Store.removeWithWriter.

Removes an item from the store and the cache writer manager in an atomic operation.

Annotations
@Override
replaceback to summary
public boolean replace(final Element old, final Element element, final ElementValueComparator comparator) throws NullPointerException, IllegalArgumentException

Implements net.sf.ehcache.store.Store.replace.

Doc from net.sf.ehcache.store.Store.replace.

Replace the cached element only if the value of the current Element is equal to the value of the supplied old Element.

Parameters
old:Element

Element to be test against

element:Element

Element to be cached

comparator:ElementValueComparator

ElementValueComparator to use to compare elements

Returns:boolean

true is the Element was replaced

Annotations
@Override
Exceptions
NullPointerException:
if the either Element is null or has a null key
IllegalArgumentException:
if the two Element keys are non-null but not equal
replaceback to summary
public Element replace(final Element element) throws NullPointerException

Implements net.sf.ehcache.store.Store.replace.

Doc from net.sf.ehcache.store.Store.replace.

Replace the cached element only if an Element is currently cached for this key

Parameters
element:Element

Element to be cached

Returns:Element

the Element previously cached for this key, or null if no Element was cached

Annotations
@Override
Exceptions
NullPointerException:
if the Element is null or has a null key
setAttributeExtractorsback to summary
public void setAttributeExtractors(final Map<String, AttributeExtractor> extractors)

Implements net.sf.ehcache.store.Store.setAttributeExtractors.

Doc from net.sf.ehcache.store.Store.setAttributeExtractors.

Inform this store of the configured attribute extractors. Stores that will not invoke extractors are free to ignore this call

Annotations
@Override
setInMemoryEvictionPolicyback to summary
public void setInMemoryEvictionPolicy(final Policy policy)

Implements net.sf.ehcache.store.Store.setInMemoryEvictionPolicy.

Doc from net.sf.ehcache.store.Store.setInMemoryEvictionPolicy.

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:Policy

the new policy

Annotations
@Override
setNodeCoherentback to summary
public void setNodeCoherent(final boolean coherent) throws UnsupportedOperationException, TerracottaNotRunningException

Implements net.sf.ehcache.store.Store.setNodeCoherent.

Doc from net.sf.ehcache.store.Store.setNodeCoherent.

Sets the cache in coherent or incoherent mode for the current node depending on the parameter. Calling setNodeCoherent(true) when the cache is already in coherent mode or calling setNodeCoherent(false) when already in incoherent mode will be a no-op.

It applies to coherent clustering mechanisms only e.g. Terracotta

Parameters
coherent:boolean

true transitions to coherent mode, false to incoherent mode

Annotations
@Override
Exceptions
UnsupportedOperationException:
if this store does not support cache coherence, like RMI replication
waitUntilClusterCoherentback to summary
public void waitUntilClusterCoherent() throws UnsupportedOperationException, TerracottaNotRunningException, InterruptedException

Implements net.sf.ehcache.store.Store.waitUntilClusterCoherent.

Doc from net.sf.ehcache.store.Store.waitUntilClusterCoherent.

This method waits until the cache is in coherent mode in all the connected nodes. If the cache is already in coherent mode it returns immediately

It applies to coherent clustering mechanisms only e.g. Terracotta

Annotations
@Override
Exceptions
UnsupportedOperationException:
if this store does not support cache coherence, like RMI replication