public class LegacyStoreWrapper extends AbstractStore
Modifier and Type | Field and Description |
---|---|
private CacheConfiguration |
config |
private Store |
disk |
private RegisteredEventListeners |
eventListeners |
private Store |
memory |
private StripedReadWriteLockSync |
sync |
private static int |
SYNC_STRIPES |
attributeExtractors
CLUSTER_COHERENT, NODE_COHERENT
Constructor and Description |
---|
LegacyStoreWrapper(Store memory,
Store disk,
RegisteredEventListeners eventListeners,
CacheConfiguration config)
Create a correctly locked store wrapper around the supplied in-memory and on disk stores.
|
Modifier and Type | Method and Description |
---|---|
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.
|
boolean |
containsKeyInMemory(java.lang.Object key)
A check to see if a key is in the Store and is currently held in memory.
|
boolean |
containsKeyOffHeap(java.lang.Object key)
A check to see if a key is in the Store and is currently held off-heap.
|
boolean |
containsKeyOnDisk(java.lang.Object key)
A check to see if a key is in the Store and is currently held on disk.
|
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.
|
Store |
getDiskStore()
Returns the underlying disk store for this legacy wrapper.
|
Policy |
getInMemoryEvictionPolicy() |
int |
getInMemorySize()
Returns the current local in-memory store size
|
long |
getInMemorySizeInBytes()
Gets the size of the in-memory portion of the store, in bytes.
|
java.lang.Object |
getInternalContext()
This should not be used, and will generally return null
|
java.util.List |
getKeys()
Gets an Array of the keys for all elements in the disk store.
|
java.lang.Object |
getMBean()
Optional implementation specific MBean exposed by the store.
|
Store |
getMemoryStore()
Returns the underlying memory store for this legacy wrapper.
|
int |
getOffHeapSize()
Returns the current local off-heap store size
|
long |
getOffHeapSizeInBytes()
Gets the size of the off-heap portion of the store, in bytes.
|
int |
getOnDiskSize()
Returns the current local on-disk store size
|
long |
getOnDiskSizeInBytes()
Gets the size of the on-disk portion of the store, in bytes.
|
Element |
getQuiet(java.lang.Object key)
Gets an
Element from the Store, without updating statistics |
int |
getSize()
Returns the current local store size
|
Status |
getStatus()
Returns the cache status.
|
int |
getTerracottaClusteredSize()
Returns the current Terracotta clustered store size
|
boolean |
isPinned(java.lang.Object key)
Check if the key is pinned
|
boolean |
put(Element element)
Puts an item into the store.
|
Element |
putIfAbsent(Element element)
Put an element in the store if no element is currently mapped to the elements key.
|
boolean |
putWithWriter(Element element,
CacheWriterManager writerManager)
Puts an item into the store and the cache writer manager in an atomic operation
|
Element |
remove(java.lang.Object key)
Removes an item from the cache.
|
void |
removeAll()
Remove all of the elements from the store.
|
Element |
removeElement(Element element,
ElementValueComparator comparator)
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.
|
Element |
removeWithWriter(java.lang.Object key,
CacheWriterManager writerManager)
Removes an item from the store and the cache writer manager in an atomic operation.
|
Element |
replace(Element element)
Replace the cached element only if an Element is currently cached for this key
|
boolean |
replace(Element old,
Element element,
ElementValueComparator comparator)
Replace the cached element only if the value of the current Element is equal to the value of the
supplied old Element.
|
void |
setInMemoryEvictionPolicy(Policy policy)
Sets the eviction policy strategy.
|
void |
setPinned(java.lang.Object key,
boolean pinned)
Mark the key as pinned or not
|
void |
unpinAll()
unpin all pinned keys
|
addStoreListener, executeQuery, getAll, getAllQuiet, getEventListenerList, getSearchAttribute, hasAbortedSizeOf, isCacheCoherent, isClusterCoherent, isNodeCoherent, putAll, recalculateSize, removeAll, removeStoreListener, setAttributeExtractors, setNodeCoherent, waitUntilClusterCoherent
private static final int SYNC_STRIPES
private final Store memory
private final Store disk
private final RegisteredEventListeners eventListeners
private final CacheConfiguration config
private final StripedReadWriteLockSync sync
public LegacyStoreWrapper(Store memory, Store disk, RegisteredEventListeners eventListeners, CacheConfiguration config)
memory
- in-memory storedisk
- on disk storeeventListeners
- event listener to fire onconfig
- cache configurationpublic void unpinAll()
public boolean isPinned(java.lang.Object key)
key
- the key to be checkedtrue
if the element is pinnedpublic void setPinned(java.lang.Object key, boolean pinned)
key
- the key to be pinned or notpinned
- true if the key should be pinned, false otherwisepublic boolean bufferFull()
public boolean containsKey(java.lang.Object key)
key
- The Element keypublic boolean containsKeyInMemory(java.lang.Object key)
key
- The Element keypublic boolean containsKeyOffHeap(java.lang.Object key)
key
- The Element keypublic boolean containsKeyOnDisk(java.lang.Object key)
key
- The Element keypublic void dispose()
public void expireElements()
public void flush() throws java.io.IOException
java.io.IOException
- if any IO error occurspublic Element get(java.lang.Object key)
public Policy getInMemoryEvictionPolicy()
Store.setInMemoryEvictionPolicy(Policy)
public int getInMemorySize()
public long getInMemorySizeInBytes()
public java.lang.Object getInternalContext()
public java.util.List getKeys()
Serializable
keyspublic int getOffHeapSize()
public long getOffHeapSizeInBytes()
public int getOnDiskSize()
public long getOnDiskSizeInBytes()
public Element getQuiet(java.lang.Object key)
Element
from the Store, without updating statisticspublic int getSize()
Element
s in the memory store
plus the number of Element
s in the disk store.public Status getStatus()
public int getTerracottaClusteredSize()
public boolean put(Element element) throws CacheException
CacheException
public boolean putWithWriter(Element element, CacheWriterManager writerManager) throws CacheException
CacheException
public Element remove(java.lang.Object key)
public void removeAll() throws CacheException
CacheEventListener
s they are notified of the expiry or removal
of the Element
as each is removed.CacheException
public Element removeWithWriter(java.lang.Object key, CacheWriterManager writerManager) throws CacheException
CacheException
public void setInMemoryEvictionPolicy(Policy policy)
policy
- the new policypublic Store getDiskStore()
public Store getMemoryStore()
public Element putIfAbsent(Element element) throws java.lang.NullPointerException
element
- element to be addedjava.lang.NullPointerException
- if the element is null, or has a null keypublic Element removeElement(Element element, ElementValueComparator comparator) throws java.lang.NullPointerException
element
- Element to be removedcomparator
- ElementValueComparator to use to compare elementsjava.lang.NullPointerException
- if the element is null, or has a null keypublic boolean replace(Element old, Element element, ElementValueComparator comparator) throws java.lang.NullPointerException, java.lang.IllegalArgumentException
old
- Element to be test againstelement
- Element to be cachedcomparator
- ElementValueComparator to use to compare elementsjava.lang.NullPointerException
- if the either Element is null or has a null keyjava.lang.IllegalArgumentException
- if the two Element keys are non-null but not equalpublic Element replace(Element element) throws java.lang.NullPointerException
element
- Element to be cachedjava.lang.NullPointerException
- if the Element is null or has a null keypublic java.lang.Object getMBean()