Package com.tangosol.net.cache
Class BinaryStoreCacheStore<K,V>
- java.lang.Object
-
- com.tangosol.util.Base
-
- com.tangosol.net.cache.AbstractCacheLoader<K,V>
-
- com.tangosol.net.cache.AbstractCacheStore<K,V>
-
- com.tangosol.net.cache.BinaryStoreCacheStore<K,V>
-
- All Implemented Interfaces:
CacheLoader<K,V>
,CacheStore<K,V>
,IterableCacheLoader<K,V>
public class BinaryStoreCacheStore<K,V> extends AbstractCacheStore<K,V> implements CacheStore<K,V>, IterableCacheLoader<K,V>
A CacheStore that sits directly on top of a BinaryStore.- Since:
- Coherence 2.5
- Author:
- cp 2004.09.24
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Constructor Summary
Constructors Constructor Description BinaryStoreCacheStore(BinaryStore store)
Create a CacheStore that delegates to a BinaryStore.BinaryStoreCacheStore(BinaryStore store, boolean fBinaryOnly)
Create a CacheStore that delegates to a BinaryStore, optionally storing only Binary keys and values.BinaryStoreCacheStore(BinaryStore store, ClassLoader loader)
Create a CacheStore that delegates to a BinaryStore, using the passed ClassLoader for deserialization.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
erase(K key)
Remove the specified key from the underlying store if present.protected Object
fromBinary(Binary bin)
Translate the passed Binary object into an Object object.BinaryStore
getBinaryStore()
Returns the BinaryStore that this CacheStore uses for its storage.ClassLoader
getClassLoader()
Returns the ClassLoader that this CacheStore uses for deserialization, if it has one.boolean
isBinaryOnly()
Determine if the keys and values in this CacheStore are known to be all Binary.Iterator<K>
keys()
Iterate all keys in the underlying store.V
load(K key)
Return the value associated with the specified key, or null if the key does not have an associated value in the underlying store.protected void
setBinaryStore(BinaryStore store)
Configures the BinaryStore that this CacheStore will use for its storage.protected void
setClassLoader(ClassLoader loader)
Configure the ClassLoader that this CacheStore will use for deserialization.void
store(K key, V value)
Store the specified value under the specified key in the underlying store.protected Binary
toBinary(Object o)
Translate the passed Object object into an Binary object.-
Methods inherited from class com.tangosol.util.Base
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.tangosol.net.cache.CacheLoader
loadAll
-
Methods inherited from interface com.tangosol.net.cache.CacheStore
eraseAll, storeAll
-
-
-
-
Constructor Detail
-
BinaryStoreCacheStore
public BinaryStoreCacheStore(BinaryStore store)
Create a CacheStore that delegates to a BinaryStore.- Parameters:
store
- the BinaryStore to use to write the serialized objects to
-
BinaryStoreCacheStore
public BinaryStoreCacheStore(BinaryStore store, ClassLoader loader)
Create a CacheStore that delegates to a BinaryStore, using the passed ClassLoader for deserialization.- Parameters:
store
- the BinaryStore to use to write the serialized objects toloader
- the ClassLoader to use for deserialization
-
BinaryStoreCacheStore
public BinaryStoreCacheStore(BinaryStore store, boolean fBinaryOnly)
Create a CacheStore that delegates to a BinaryStore, optionally storing only Binary keys and values.- Parameters:
store
- the BinaryStore to use to write the serialized objects tofBinaryOnly
- true indicates that this CacheStore will only manage binary keys and values
-
-
Method Detail
-
load
public V load(K key)
Return the value associated with the specified key, or null if the key does not have an associated value in the underlying store.- Specified by:
load
in interfaceCacheLoader<K,V>
- Specified by:
load
in classAbstractCacheLoader<K,V>
- Parameters:
key
- key whose associated value is to be returned- Returns:
- the value associated with the specified key, or null if no value is available for that key
-
store
public void store(K key, V value)
Store the specified value under the specified key in the underlying store. This method is intended to support both key/value creation and value update for a specific key.- Specified by:
store
in interfaceCacheStore<K,V>
- Overrides:
store
in classAbstractCacheStore<K,V>
- Parameters:
key
- key to store the value undervalue
- value to be stored- Throws:
UnsupportedOperationException
- if this implementation or the underlying store is read-only
-
erase
public void erase(K key)
Remove the specified key from the underlying store if present.- Specified by:
erase
in interfaceCacheStore<K,V>
- Overrides:
erase
in classAbstractCacheStore<K,V>
- Parameters:
key
- key to remove from the store- Throws:
UnsupportedOperationException
- if this implementation or the underlying store is read-only
-
keys
public Iterator<K> keys()
Iterate all keys in the underlying store.- Specified by:
keys
in interfaceIterableCacheLoader<K,V>
- Returns:
- a read-only iterator of the keys in the underlying store
- Throws:
UnsupportedOperationException
- if the underlying store is not iterable
-
toBinary
protected Binary toBinary(Object o)
Translate the passed Object object into an Binary object.- Parameters:
o
- the Object to serialize into a Binary object- Returns:
- the Binary object
-
fromBinary
protected Object fromBinary(Binary bin)
Translate the passed Binary object into an Object object.- Parameters:
bin
- the Binary object to deserialize- Returns:
- the deserialized object
-
getBinaryStore
public BinaryStore getBinaryStore()
Returns the BinaryStore that this CacheStore uses for its storage.- Returns:
- the BinaryStore that this CacheStore uses
-
setBinaryStore
protected void setBinaryStore(BinaryStore store)
Configures the BinaryStore that this CacheStore will use for its storage.- Parameters:
store
- the BinaryStore to use
-
getClassLoader
public ClassLoader getClassLoader()
Returns the ClassLoader that this CacheStore uses for deserialization, if it has one.- Returns:
- the ClassLoader that this CacheStore uses for deserialization; may be null
-
setClassLoader
protected void setClassLoader(ClassLoader loader)
Configure the ClassLoader that this CacheStore will use for deserialization.- Parameters:
loader
- the ClassLoader that this CacheStore should use for deserialization
-
isBinaryOnly
public boolean isBinaryOnly()
Determine if the keys and values in this CacheStore are known to be all Binary.- Returns:
- true if all keys and values will be Binary to start with, and thus will not require conversion
-
-