Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.util
Class WrapperObservableMap

    java.lang.Object
      com.tangosol.util.Base
          com.tangosol.util.AbstractKeyBasedMap
              com.tangosol.util.AbstractKeySetBasedMap
                  com.tangosol.util.WrapperObservableMap

All Implemented Interfaces:
  ObservableMap, java.util.Map

Direct Known Subclasses:
  ObservableSplittingBackingMap, WrapperConcurrentMap

    public class WrapperObservableMap

extends AbstractKeySetBasedMap
implements ObservableMap

A simple implementation of ObservableMap interface built as a wrapper around any Map implementation. It also provides an implementation of CacheStatistics interface.

Note: as of Coherence 3.0 the CacheStatistics implementation has to be turned on explicitly by calling the `setCollectStats(boolean)` method.

Note: if the underlying (wrapped) Map is an ObservableMap by itself, as of Coherence 3.2 the WrapperObservableMap implementation does not translate events generated the wrapped map by default. The translation can be turned on explicitly by calling the `setTranslateEvents(boolean)` method.

Since:
  Coherence 2.3
Author:
  gg 2003.10.01

Nested Class Summary
`protected class` | `WrapperObservableMap.InternalListener` An internal MapListener that listens to the wrapped map.

Nested classes/interfaces inherited from class com.tangosol.util.AbstractKeySetBasedMap
`AbstractKeySetBasedMap.EntrySet, AbstractKeySetBasedMap.KeyIterator, AbstractKeySetBasedMap.KeySet, AbstractKeySetBasedMap.ValuesCollection`

Nested classes/interfaces inherited from interface java.util.Map
`java.util.Map.Entry`

Field Summary
`protected boolean` | `m_fTranslateEvents` Specifies whether or not events are translated by this wrapper.
`protected MapListener` | `m_listenerInternal` The MapListener used to listen to the wrapped ObservableMap.
`protected MapListenerSupport` | `m_listenerSupport` The event listeners.
`protected java.util.Map` | `m_map` The (wrapped) map containing all the resources.
`protected SimpleCacheStatistics` | `m_stats` The CacheStatistics object maintained by this wrapper.

Constructor Summary
`WrapperObservableMap(java.util.Map map)` Construct an ObservableMap wrapper base on the specified map.

Method Summary
`void` | `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, java.lang.Object oKey, boolean fLite)` Add a map listener for a specific key.
`void` | `clear()` Clear all key/value mappings.
`boolean` | `containsValue(java.lang.Object oValue)` Returns `true` if this Map maps one or more keys to the specified value.
`protected void` | `dispatchEvent(MapEvent evt)` Dispatch the passed event.
`protected void` | `dispatchPendingEvent(java.lang.Object oKey, int nId, java.lang.Object oNewValue, boolean fSynthetic)` Dispatch an event that has not yet occurred, allowing the cache to potentially avoid reading of the "original value" information.
`protected MapListener` | `ensureInternalListener()` Obtain the internal MapListener, creating one if necessary.
`protected MapListenerSupport` | `ensureMapListenerSupport()` Obtain the MapListenerSupport, creating it if necessary.
`java.lang.Object` | `get(java.lang.Object oKey)` Returns the value to which this map maps the specified key.
`CacheStatistics` | `getCacheStatistics()` Return the CacheStatistics for this cache.
`protected java.lang.String` | `getDescription()` Assemble a human-readable description.
`protected java.util.Set` | `getInternalKeySet()` Obtain a set of keys that are represented by this Map.
`java.util.Map` | `getMap()` Get the Map that is wrapped by this wrapper.
`protected MapListenerSupport` | `getMapListenerSupport()` Accessor for the MapListenerSupport for sub-classes.
`protected boolean` | `hasListeners()` Determine if the OverflowMap has any listeners at all.
`protected MapListener` | `instantiateInternalListener()` Instantiate a MapListener to listen to the wrapped map.
`boolean` | `isCollectStats()` Check whether or not statistics are collected by the wrapper.
`protected boolean` | `isEventFabricator()` Determine if this ObservableMap has to fabricate events itself.
`protected boolean` | `isInternalKeySetIteratorMutable()` Determine if this Iterator should remove an iterated item by calling remove on the internal key Set Iterator, or by calling removeBlind on the map itself.
`protected static boolean` | `isSynthetic(MapEvent evt)` Helper method to determine if an event is synthetic.
`boolean` | `isTranslateEvents()` Check whether or not an event source has to be translated by the wrapper.
`java.lang.Object` | `put(java.lang.Object oKey, java.lang.Object oValue)` Associates the specified value with the specified key in this map.
`void` | `putAll(java.util.Map map)` Copies all of the mappings from the specified map to this map.
`java.lang.Object` | `remove(java.lang.Object oKey)` Removes the mapping for this key from this map if present.
`protected boolean` | `removeBlind(java.lang.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, java.lang.Object oKey)` Remove a map listener that previously signed up for events about a specific key.
`void` | `setCollectStats(boolean fCollectStats)` Specify whether or not statistics are to be collected by the wrapper.
`void` | `setTranslateEvents(boolean fTranslate)` Specify whether or not an event source has to be translated by the wrapper.
`java.lang.String` | `toString()` Returns a string representation of this Map.

Methods inherited from class com.tangosol.util.AbstractKeySetBasedMap
`containsKey, instantiateEntrySet, instantiateKeyIterator, instantiateKeySet, instantiateValues, isEmpty, iterateKeys, size`

Methods inherited from class com.tangosol.util.AbstractKeyBasedMap
`clone, entrySet, equals, getAll, hashCode, keySet, values`

Methods inherited from interface java.util.Map
`containsKey, entrySet, equals, hashCode, isEmpty, keySet, size, values`

Field Detail

### m_map

    protected java.util.Map m_map

  The (wrapped) map containing all the resources.

### m_listenerSupport

    protected MapListenerSupport m_listenerSupport

  The event listeners.

### m_listenerInternal

    protected MapListener m_listenerInternal

  The MapListener used to listen to the wrapped ObservableMap.

### m_stats

    protected SimpleCacheStatistics m_stats

  The CacheStatistics object maintained by this wrapper.

### m_fTranslateEvents

    protected boolean m_fTranslateEvents

  Specifies whether or not events are translated by this wrapper.

Constructor Detail

### WrapperObservableMap

    public WrapperObservableMap(java.util.Map map)

  Construct an ObservableMap wrapper base on the specified map.

  Note: it is assumed that while the WrapperObservableMap exists, there is no direct manipulation with the content of the wrapped map.

  Parameters:
    `map` - the Map that will be wrapped by this WrapperObservableMap

Method Detail

### clear

    public void clear()

  Clear all key/value mappings.

  Specified by:
    `clear` in interface `java.util.Map`
  Overrides:
    `clear` in class `AbstractKeyBasedMap`

### containsValue

    public boolean containsValue(java.lang.Object oValue)

  Returns `true` if this Map maps one or more keys to the specified value.

  Specified by:
    `containsValue` in interface `java.util.Map`
  Overrides:
    `containsValue` in class `AbstractKeyBasedMap`
  Returns:
    `true` if this Map maps one or more keys to the specified value, `false` otherwise

### get

    public java.lang.Object get(java.lang.Object oKey)

  Returns the value to which this map maps the specified key.

  Specified by:
    `get` in interface `java.util.Map`
  Specified by:
    `get` in class `AbstractKeyBasedMap`
  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

    public java.lang.Object put(java.lang.Object oKey,
                                java.lang.Object oValue)

  Associates the specified value with the specified key in this map.

  Specified by:
    `put` in interface `java.util.Map`
  Overrides:
    `put` in class `AbstractKeyBasedMap`
  Parameters:
    `oKey` - key with which the specified value is to be associated
    `oValue` - 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

    public void putAll(java.util.Map map)

  Copies all of the mappings from the specified map to this map. The effect of this call is equivalent to that of calling `AbstractKeyBasedMap.put(java.lang.Object, java.lang.Object)` 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 interface `java.util.Map`
  Overrides:
    `putAll` in class `AbstractKeyBasedMap`
  Parameters:
    `map` - the Map containing the key/value pairings to put into this Map

### remove

    public java.lang.Object remove(java.lang.Object oKey)

  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 interface `java.util.Map`
  Overrides:
    `remove` in class `AbstractKeyBasedMap`
  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

    protected java.util.Set 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 class `AbstractKeySetBasedMap`
  Returns:
    an internal Set of keys that are contained by this Map

### isInternalKeySetIteratorMutable

    protected boolean isInternalKeySetIteratorMutable()

  Determine if this Iterator should remove an iterated item by calling remove on the internal key Set Iterator, or by calling removeBlind on the map itself.

  Overrides:
    `isInternalKeySetIteratorMutable` in class `AbstractKeySetBasedMap`
  Returns:
    true to remove using the internal key Set Iterator or false to use the `AbstractKeyBasedMap.removeBlind(Object)` method

### removeBlind

    protected boolean removeBlind(java.lang.Object oKey)

  Removes the mapping for this key from this map if present. This method exists to allow sub-classes to optmiize remove functionalitly for situations in which the original value is not required.

  Overrides:
    `removeBlind` in class `AbstractKeyBasedMap`
  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

    public void 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. This has the same result as the following call:

         addMapListener(listener, (Filter) null, false);

  Specified by:
    `addMapListener` in interface `ObservableMap`
  Parameters:
    `listener` - the `MapEvent` listener to add

### removeMapListener

    public void removeMapListener(MapListener listener)

  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 interface `ObservableMap`
  Parameters:
    `listener` - the listener to remove

### addMapListener

    public void addMapListener(MapListener listener,
                               java.lang.Object oKey,
                               boolean fLite)

  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 interface `ObservableMap`
  Parameters:
    `listener` - the `MapEvent` listener to add
    `oKey` - the key that identifies the entry for which to raise events
    `fLite` - true to indicate that the `MapEvent` objects do not have to include the OldValue and NewValue property values in order to allow optimizations

### removeMapListener

    public void removeMapListener(MapListener listener,
                                  java.lang.Object oKey)

  Remove a map listener that previously signed up for events about a specific key.

  Specified by:
    `removeMapListener` in interface `ObservableMap`
  Parameters:
    `listener` - the listener to remove
    `oKey` - the key that identifies the entry for which to raise events

### addMapListener

    public void addMapListener(MapListener listener,
                               Filter filter,
                               boolean fLite)

  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 interface `ObservableMap`
  Parameters:
    `listener` - the `MapEvent` listener to add
    `filter` - 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 (see `MapEventFilter`); null is equivalent to a filter that alway returns true
    `fLite` - true to indicate that the `MapEvent` objects do not have to include the OldValue and NewValue property values in order to allow optimizations

### removeMapListener

    public void removeMapListener(MapListener listener,
                                  Filter filter)

  Remove a map listener that previously signed up for events based on a filter evaluation.

  Specified by:
    `removeMapListener` in interface `ObservableMap`
  Parameters:
    `listener` - the listener to remove
    `filter` - the filter that was passed into the corresponding addMapListener() call

### getMap

    public java.util.Map getMap()

  Get the Map that is wrapped by this wrapper.

  Note: direct modifications of the returned map may cause an unpredictable behavior of the wrapper map.

  Returns:
    the wrapped Map

### getCacheStatistics

    public CacheStatistics getCacheStatistics()

  Return the CacheStatistics for this cache.

  Returns:
    a CacheStatistics object

### isCollectStats

    public boolean isCollectStats()

  Check whether or not statistics are collected by the wrapper.

  Returns:
    true if this wrapper collects cache statistics; false otherwise
  Since:
    Coherence 3.0

### setCollectStats

    public void setCollectStats(boolean fCollectStats)

  Specify whether or not statistics are to be collected by the wrapper.

  Parameters:
    `fCollectStats` - true if this wrapper should collect cache statistics; false otherwise
  Since:
    Coherence 3.0

### isTranslateEvents

    public boolean isTranslateEvents()

  Check whether or not an event source has to be translated by the wrapper.

  Note: this setting is only meaningful if the underlying map is an ObservableMap itself.

  Returns:
    true if this wrapper translates an event source; false otherwise
  Since:
    Coherence 3.3

### setTranslateEvents

    public void setTranslateEvents(boolean fTranslate)

  Specify whether or not an event source has to be translated by the wrapper.

  Note: this setting is only meaningful if the underlying map is an ObservableMap itself.

  Parameters:
    `fTranslate` - true if this wrapper should translate an event source; false otherwise
  Since:
    Coherence 3.3

### getDescription

    protected java.lang.String getDescription()

  Assemble a human-readable description.

  Returns:
    a description of this Map

### toString

    public java.lang.String 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 class `AbstractKeyBasedMap`
  Returns:
    a String representation of this Map

### getMapListenerSupport

    protected MapListenerSupport getMapListenerSupport()

  Accessor for the MapListenerSupport for sub-classes.

  Returns:
    the MapListenerSupport, or null if there are no listeners

### ensureMapListenerSupport

    protected MapListenerSupport ensureMapListenerSupport()

  Obtain the MapListenerSupport, creating it if necessary.

  Returns:
    the MapListenerSupport; never null

### hasListeners

    protected boolean hasListeners()

  Determine if the OverflowMap has any listeners at all.

  Returns:
    true iff this OverflowMap has at least one MapListener

### isEventFabricator

    protected boolean isEventFabricator()

  Determine if this ObservableMap has to fabricate events itself.

  Returns:
    true if events are expected, but the wrapped Map does not generate any events itself

### isSynthetic

    protected static boolean isSynthetic(MapEvent evt)

  Helper method to determine if an event is synthetic.

  Parameters:
    `evt` - a Map Event
  Returns:
    true if the event is a synthetic cache event

### dispatchPendingEvent

    protected void dispatchPendingEvent(java.lang.Object oKey,
                                        int nId,
                                        java.lang.Object oNewValue,
                                        boolean fSynthetic)

  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 to
    `nId` - the event ID
    `oNewValue` - the new value
    `fSynthetic` - true if the event is synthetic

### dispatchEvent

    protected void dispatchEvent(MapEvent evt)

  Dispatch the passed event.

  Parameters:
    `evt` - a CacheEvent object

### ensureInternalListener

    protected MapListener ensureInternalListener()

  Obtain the internal MapListener, creating one if necessary.

  Returns:
    an instance of MapListener; never null

### instantiateInternalListener

    protected MapListener instantiateInternalListener()

  Instantiate a MapListener to listen to the wrapped map.

  Returns:
    an instance of MapListener

Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle. All rights reserved.