Package com.tangosol.net.cache
Class AbstractSerializationCache
java.lang.Object
com.tangosol.util.Base
com.tangosol.util.AbstractKeyBasedMap
com.tangosol.util.AbstractKeySetBasedMap
com.tangosol.net.cache.SerializationMap
com.tangosol.net.cache.AbstractSerializationCache
- All Implemented Interfaces:
ObservableMap
,Map
- Direct Known Subclasses:
SerializationCache
,SerializationPagedCache
An abstract base class for serialization-based caches.
- Author:
- cp 2005.12.12
-
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
ConstructorDescriptionConstruct a serialization cache on top of a BinaryStore.AbstractSerializationCache
(BinaryStore store, boolean fBinaryMap) Construct a serialization cache on top of a BinaryStore, optionally storing only Binary keys and values.AbstractSerializationCache
(BinaryStore store, ClassLoader loader) Construct a serialization cache on top of a BinaryStore, using the passed ClassLoader for deserialization. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addMapListener
(MapListener listener) Add a standard map listener that will receive all events (inserts, updates, deletes) that occur against the map, with the key, old-value and new-value included.void
addMapListener
(MapListener listener, Filter filter, boolean fLite) Add a map listener that receives events based on a filter evaluation.void
addMapListener
(MapListener listener, Object oKey, boolean fLite) Add a map listener for a specific key.void
clear()
Clear all key/value mappings.protected void
dispatchEvent
(CacheEvent evt) Dispatch the passed event.protected void
dispatchPendingEvent
(Object oKey, int nId, Object oNewValue, boolean fSynthetic) Dispatch an event that has not yet occurred, allowing the cache to potentially avoid reading of the "original value" information.abstract void
evict()
Flush items that have expired.protected String
Assemble a human-readable description.protected MapListenerSupport
Accessor for the MapListenerSupport for sub-classes.protected boolean
Determine if this map has any listeners at all.Associates the specified value with the specified key in this map.void
Copies all of the mappings from the specified map to this map.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.void
removeMapListener
(MapListener listener) Remove a standard map listener that previously signed up for all events.void
removeMapListener
(MapListener listener, Filter filter) Remove a map listener that previously signed up for events based on a filter evaluation.void
removeMapListener
(MapListener listener, Object oKey) Remove a map listener that previously signed up for events about a specific key.Methods inherited from class com.tangosol.net.cache.SerializationMap
containsValue, eraseStore, fromBinary, get, getBinaryStore, getCacheStatistics, getClassLoader, getInternalKeySet, getKeyMap, instantiateKeyMap, isBinaryMap, registerKey, setBinaryMap, setBinaryStore, setClassLoader, toBinary, toString, unregisterKey
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, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putIfAbsent, remove, replace, replace, replaceAll, size, values
-
Constructor Details
-
AbstractSerializationCache
Construct a serialization cache on top of a BinaryStore.- Parameters:
store
- the BinaryStore to use to write the serialized objects to
-
AbstractSerializationCache
Construct a serialization cache 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
-
AbstractSerializationCache
Construct a serialization cache 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
-
-
Method Details
-
clear
public void clear()Clear all key/value mappings.- Specified by:
clear
in interfaceMap
- Overrides:
clear
in classSerializationMap
-
put
Associates the specified value with the specified key in this map.- Specified by:
put
in interfaceMap
- Overrides:
put
in classSerializationMap
- 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 classSerializationMap
- 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 classSerializationMap
- 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.
-
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 classSerializationMap
- Parameters:
oKey
- key whose mapping is to be removed from the map- Returns:
- true iff the Map changed as the result of this operation
-
addMapListener
Add a standard map listener that will receive all events (inserts, updates, deletes) that occur against the map, with the key, old-value and new-value included. This has the same result as the following call:addMapListener(listener, (Filter) null, false);
- Specified by:
addMapListener
in interfaceObservableMap
- Parameters:
listener
- theMapEvent
listener to add
-
removeMapListener
Remove a standard map listener that previously signed up for all events. This has the same result as the following call:removeMapListener(listener, (Filter) null);
- Specified by:
removeMapListener
in interfaceObservableMap
- Parameters:
listener
- the listener to remove
-
addMapListener
Add a map listener for a specific key.The listeners will receive MapEvent objects, but if fLite is passed as true, they might not contain the OldValue and NewValue properties.
To unregister the MapListener, use the
ObservableMap.removeMapListener(MapListener, Object)
method.- Specified by:
addMapListener
in interfaceObservableMap
- Parameters:
listener
- theMapEvent
listener to addoKey
- the key that identifies the entry for which to raise eventsfLite
- true to indicate that theMapEvent
objects do not have to include the OldValue and NewValue property values in order to allow optimizations
-
removeMapListener
Remove a map listener that previously signed up for events about a specific key.- Specified by:
removeMapListener
in interfaceObservableMap
- Parameters:
listener
- the listener to removeoKey
- the key that identifies the entry for which to raise events
-
addMapListener
Add a map listener that receives events based on a filter evaluation.The listeners will receive MapEvent objects, but if fLite is passed as true, they might not contain the OldValue and NewValue properties.
To unregister the MapListener, use the
ObservableMap.removeMapListener(MapListener, Filter)
method.- Specified by:
addMapListener
in interfaceObservableMap
- Parameters:
listener
- theMapEvent
listener to addfilter
- a filter that will be passed MapEvent objects to select from; a MapEvent will be delivered to the listener only if the filter evaluates to true for that MapEvent (seeMapEventFilter
); null is equivalent to a filter that alway returns truefLite
- true to indicate that theMapEvent
objects do not have to include the OldValue and NewValue property values in order to allow optimizations
-
removeMapListener
Remove a map listener that previously signed up for events based on a filter evaluation.- Specified by:
removeMapListener
in interfaceObservableMap
- Parameters:
listener
- the listener to removefilter
- the filter that was passed into the corresponding addMapListener() call
-
evict
public abstract void evict()Flush items that have expired.- Since:
- Coherence 3.2
-
getDescription
Assemble a human-readable description.- Overrides:
getDescription
in classSerializationMap
- Returns:
- a description of this Map
-
getMapListenerSupport
Accessor for the MapListenerSupport for sub-classes.- Returns:
- the MapListenerSupport, or null if there are no listeners
-
hasListeners
protected boolean hasListeners()Determine if this map has any listeners at all.- Returns:
- true iff this ObservableMap has at least one MapListener
-
dispatchPendingEvent
Dispatch an event that has not yet occurred, allowing the cache to potentially avoid reading of the "original value" information.- Parameters:
oKey
- the key which the event is related tonId
- the event IDoNewValue
- the new valuefSynthetic
- true if the event is synthetic
-
dispatchEvent
Dispatch the passed event.- Parameters:
evt
- a CacheEvent object
-