Package com.tangosol.net.cache
Class SerializationMap
java.lang.Object
com.tangosol.util.Base
com.tangosol.util.AbstractKeyBasedMap
com.tangosol.util.AbstractKeySetBasedMap
com.tangosol.net.cache.SerializationMap
- All Implemented Interfaces:
Map
- Direct Known Subclasses:
AbstractSerializationCache
Map implementation that stores its contents in a BinaryStore.
This implementation is mostly thread safe. To be certain, it is suggested that access to this cache is either single-threaded or gated through an object like WrapperConcurrentMap.
- Since:
- Coherence 2.2
- Author:
- cp 2003.05.26, cp 2005.11.25 updating for 3.1 using AbstractKeySetBasedMap
-
Nested Class Summary
Nested classes/interfaces inherited from class com.tangosol.util.AbstractKeySetBasedMap
AbstractKeySetBasedMap.EntrySet, AbstractKeySetBasedMap.KeyIterator, AbstractKeySetBasedMap.KeySet, AbstractKeySetBasedMap.ValuesCollection
Nested classes/interfaces inherited from class com.tangosol.util.AbstractKeyBasedMap
AbstractKeyBasedMap.DeferredCacheEvent<K,
V> Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
Field Summary
-
Constructor Summary
ConstructorDescriptionSerializationMap
(BinaryStore store) Construct a SerializationMap on top of a BinaryStore.SerializationMap
(BinaryStore store, boolean fBinaryMap) Construct a SerializationMap on top of a BinaryStore, optionally storing only Binary keys and values.SerializationMap
(BinaryStore store, ClassLoader loader) Construct a SerializationMap on top of a BinaryStore, using the passed ClassLoader for deserialization. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear all key/value mappings.boolean
containsValue
(Object oValue) Returns true if this Map maps one or more keys to the specified value.protected void
Erase all entries from the underlying store.protected Object
fromBinary
(Binary bin) Translate the passed Binary object into an Object object.Returns the value to which this map maps the specified key.Returns the BinaryStore that this map uses for its storage.Returns the CacheStatistics for this cache.Returns the ClassLoader that this map uses for deserialization, if it has one.protected String
Assemble a human-readable description.protected Set
Obtain a set of keys that are represented by this Map.protected Map
Returns the cache of keys that are in the SerializationMap.protected Map
Instantiate a key-map.boolean
Determine if the keys and values in this map are known to be all Binary.Associates the specified value with the specified key in this map.void
Copies all of the mappings from the specified map to this map.protected void
registerKey
(Object oKey, Binary binKey, Binary binValue) Register a new key for the SerializationMap.Removes the mapping for this key from this map if present.protected boolean
removeBlind
(Object oKey) Removes the mapping for this key from this map if present.protected void
setBinaryMap
(boolean fBinary) Configure the Map to be aware that all the keys and values in the map are known to be Binary or not.protected void
setBinaryStore
(BinaryStore store) Configures the BinaryStore that this map will use for its storage.protected void
setClassLoader
(ClassLoader loader) Configure the ClassLoader that this map will use for deserialization.protected Binary
Translate the passed Object object into an Binary object.toString()
Returns a string representation of this Map.protected void
unregisterKey
(Object oKey) Unregister a key from the SerializationMap.Methods inherited from class com.tangosol.util.AbstractKeySetBasedMap
containsKey, instantiateEntrySet, instantiateKeyIterator, instantiateKeySet, instantiateValues, isEmpty, isInternalKeySetIteratorMutable, iterateKeys, size
Methods inherited from class com.tangosol.util.AbstractKeyBasedMap
clone, entrySet, equals, getAll, hashCode, keySet, values
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
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
SerializationMap
Construct a SerializationMap on top of a BinaryStore.- Parameters:
store
- the BinaryStore to use to write the serialized objects to
-
SerializationMap
Construct a SerializationMap on top of 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
-
SerializationMap
Construct a SerializationMap on top of a BinaryStore, optionally storing only Binary keys and values.- Parameters:
store
- the BinaryStore to use to write the serialized objects tofBinaryMap
- true indicates that this map will only manage binary keys and values- Since:
- Coherence 2.4
-
-
Method Details
-
clear
public void clear()Clear all key/value mappings.- Specified by:
clear
in interfaceMap
- Overrides:
clear
in classAbstractKeyBasedMap
-
containsValue
Returns true if this Map maps one or more keys to the specified value.- Specified by:
containsValue
in interfaceMap
- Overrides:
containsValue
in classAbstractKeyBasedMap
- Returns:
- true if this Map maps one or more keys to the specified value, false otherwise
-
get
Returns the value to which this map maps the specified key.- Specified by:
get
in interfaceMap
- Specified by:
get
in classAbstractKeyBasedMap
- Parameters:
oKey
- the key object- Returns:
- the value to which this map maps the specified key, or null if the map contains no mapping for this key
-
put
Associates the specified value with the specified key in this map.- Specified by:
put
in interfaceMap
- Overrides:
put
in classAbstractKeyBasedMap
- Parameters:
oKey
- key with which the specified value is to be associatedoValue
- value to be associated with the specified key- Returns:
- previous value associated with specified key, or null if there was no mapping for key
-
putAll
Copies all of the mappings from the specified map to this map. The effect of this call is equivalent to that of callingAbstractKeyBasedMap.put(K, V)
on this map once for each mapping in the passed map. The behavior of this operation is unspecified if the passed map is modified while the operation is in progress.- Specified by:
putAll
in interfaceMap
- Overrides:
putAll
in classAbstractKeyBasedMap
- Parameters:
map
- the Map containing the key/value pairings to put into this Map
-
remove
Removes the mapping for this key from this map if present. Expensive: updates both the underlying cache and the local cache.- Specified by:
remove
in interfaceMap
- Overrides:
remove
in classAbstractKeyBasedMap
- Parameters:
oKey
- key whose mapping is to be removed from the map- Returns:
- previous value associated with specified key, or null if there was no mapping for key. A null return can also indicate that the map previously associated null with the specified key, if the implementation supports null values.
-
getInternalKeySet
Obtain a set of keys that are represented by this Map.The AbstractKeySetBasedMap only utilizes the internal key set as a read-only resource.
- Specified by:
getInternalKeySet
in classAbstractKeySetBasedMap
- Returns:
- an internal Set of keys that are contained by this Map
-
removeBlind
Removes the mapping for this key from this map if present. This method exists to allow sub-classes to optimize remove functionality for situations in which the original value is not required.- Overrides:
removeBlind
in classAbstractKeyBasedMap
- Parameters:
oKey
- key whose mapping is to be removed from the map- Returns:
- true iff the Map changed as the result of this operation
-
toString
Returns a string representation of this Map. The string representation consists of a list of key-value mappings in the order returned by the Map's entrySet view's iterator, enclosed in braces ("{}"). Adjacent mappings are separated by the characters ", " (comma and space). Each key-value mapping is rendered as the key followed by an equals sign ("=") followed by the associated value. Keys and values are converted to strings as by String.valueOf(Object).- Overrides:
toString
in classAbstractKeyBasedMap
- Returns:
- a String representation of this Map
-
getBinaryStore
Returns the BinaryStore that this map uses for its storage.Note: This implementation assumes that the BinaryStore is only being modified by this Map instance. If you modify the BinaryStore contents, the behavior of this Map is undefined.
- Returns:
- the BinaryStore
-
setBinaryStore
Configures the BinaryStore that this map will use for its storage.- Parameters:
store
- the BinaryStore to use
-
getClassLoader
Returns the ClassLoader that this map uses for deserialization, if it has one.- Returns:
- the ClassLoader that this map uses for deserialization; may be null
-
setClassLoader
Configure the ClassLoader that this map will use for deserialization.- Parameters:
loader
- the ClassLoader that this map should use for deserialization
-
isBinaryMap
public boolean isBinaryMap()Determine if the keys and values in this map 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
- Since:
- Coherence 2.4
-
setBinaryMap
protected void setBinaryMap(boolean fBinary) Configure the Map to be aware that all the keys and values in the map are known to be Binary or not.- Parameters:
fBinary
- pass true if all keys and values will be Binary
-
getKeyMap
Returns the cache of keys that are in the SerializationMap.- Returns:
- the cache of keys that are in the SerializationMap
-
getCacheStatistics
Returns the CacheStatistics for this cache.- Returns:
- a CacheStatistics object
-
getDescription
Assemble a human-readable description.- Returns:
- a description of this Map
-
registerKey
Register a new key for the SerializationMap. This method maintains the internal key Set for the SerializationMap.- Parameters:
oKey
- the key that has been added to the mapbinKey
- the binary form of the keybinValue
- the binary form of the value
-
unregisterKey
Unregister a key from the SerializationMap. This method maintains the internal key Set for the SerializationMap.- Parameters:
oKey
- the key that has been removed from the map
-
toBinary
Translate the passed Object object into an Binary object.- Parameters:
o
- the Object to serialize into a Binary object- Returns:
- the Binary object
-
fromBinary
Translate the passed Binary object into an Object object.- Parameters:
bin
- the Binary object to deserialize- Returns:
- the deserialized object
-
eraseStore
protected void eraseStore()Erase all entries from the underlying store. -
instantiateKeyMap
Instantiate a key-map.- Returns:
- a Map to hold the keys managed by this SerializationMap
-