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.filter
Class MapEventFilter

    java.lang.Object
      com.tangosol.util.Base
          com.tangosol.util.BitHelper
              com.tangosol.util.ExternalizableHelper
                  com.tangosol.util.filter.MapEventFilter

All Implemented Interfaces:
  ExternalizableLite, PortableObject, Filter, java.io.Serializable

    public class MapEventFilter

extends ExternalizableHelper
implements Filter, ExternalizableLite, PortableObject

Filter which evaluates the content of a MapEvent object according to the specified criteria. This filter is intended to be used by various `ObservableMap` listeners that are interested in particular subsets of MapEvent notifications emitted by the map.

Usage examples:

- a filter that evaluates to true if an Employee object is inserted into a cache with a value of Married property set to true.

         new MapEventFilter(MapEventFilter.E_INSERT,
             new EqualsFilter("isMarried", Boolean.TRUE));

- a filter that evaluates to true if any object is removed from a cache.

         new MapEventFilter(MapEventFilter.E_DELETE);

- a filter that evaluates to true if there is an update to an Employee object where either an old or new value of LastName property equals to "Smith"

         new MapEventFilter(MapEventFilter.E_UPDATED,
             new EqualsFilter("LastName", "Smith"));

- a filter that is used to keep a cached keySet result based on some map filter up-to-date.

         final Set    setKeys   = new HashSet();
         final Filter filterEvt = new MapEventFilter(filterMap);
         MapListener  listener  = new AbstractMapListener()
             {
             public void entryInserted(MapEvent evt)
                 {
                 setKeys.add(evt.getKey());
                 }

             public void entryDeleted(MapEvent evt)
                 {
                 setKeys.remove(evt.getKey());
                 }
             };

         map.addMapListener(listener, filterEvt, true);
         setKeys.addAll(map.keySet(filterMap));

Since:
  Coherence 2.3
Author:
  gg 2003.09.22
See Also:
  `ValueChangeEventFilter`

Field Summary
`static int` | `E_ALL` This value indicates that all events should be evaluated.
`static int` | `E_DELETED` This value indicates that `ENTRY_DELETED` events should be evaluated.
`static int` | `E_INSERTED` This value indicates that `ENTRY_INSERTED` events should be evaluated.
`static int` | `E_KEYSET` This value indicates that all events that would affect the result of a `QueryMap.keySet(com.tangosol.util.Filter)` query should be evaluated.
`static int` | `E_UPDATED` This value indicates that `ENTRY_UPDATED` events should be evaluated.
`static int` | `E_UPDATED_ENTERED` This value indicates that `ENTRY_UPDATED` events should be evaluated, but only if filter evaluation is false for the old value and true for the new value.
`static int` | `E_UPDATED_LEFT` This value indicates that `ENTRY_UPDATED` events should be evaluated, but only if filter evaluation is true for the old value and false for the new value.
`static int` | `E_UPDATED_WITHIN` This value indicates that `ENTRY_UPDATED` events should be evaluated, but only if filter evaluation is true for both the old and the new value.
`protected Filter` | `m_filter` The event value(s) filter.
`protected int` | `m_nMask` The event mask.

Constructor Summary
`MapEventFilter()` Default constructor (necessary for the ExternalizableLite interface).
`MapEventFilter(Filter filter)` Construct a MapEventFilter that evaluates MapEvent objects that would affect the results of a keySet filter issued by a previous call to `QueryMap.keySet(com.tangosol.util.Filter)`.
`MapEventFilter(int nMask)` Construct a MapEventFilter that evaluates MapEvent objects based on the specified combination of event types.
`MapEventFilter(int nMask, Filter filter)` Construct a MapEventFilter that evaluates MapEvent objects based on the specified combination of event types.

Method Summary
`boolean` | `equals(java.lang.Object o)` Compare the MapEventFilter with another object to determine equality.
`boolean` | `evaluate(java.lang.Object o)` Apply the test to the object.
`int` | `getEventMask()` Obtain the event mask.
`Filter` | `getFilter()` Obtain the Filter object used to evaluate the event value(s).
`int` | `hashCode()` Determine a hash value for the MapEventFilter object according to the general `Object.hashCode()` contract.
`void` | `readExternal(java.io.DataInput in)` Restore the contents of this object by loading the object's state from the passed DataInput object.
`void` | `readExternal(PofReader in)` Restore the contents of a user type instance by reading its state using the specified PofReader object.
`java.lang.String` | `toString()` Return a human-readable description for this Filter.
`void` | `writeExternal(java.io.DataOutput out)` Save the contents of this object by storing the object's state into the passed DataOutput object.
`void` | `writeExternal(PofWriter out)` Save the contents of a POF user type instance by writing its state using the specified PofWriter object.

Methods inherited from class com.tangosol.util.BitHelper
`countBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString`

Field Detail

### E_INSERTED

    public static final int E_INSERTED

  This value indicates that `ENTRY_INSERTED` events should be evaluated. The event will be fired if there is no filter specified or the filter evaluates to true for a new value.

  See Also:
    Constant Field Values

### E_UPDATED

    public static final int E_UPDATED

  This value indicates that `ENTRY_UPDATED` events should be evaluated. The event will be fired if there is no filter specified or the filter evaluates to true when applied to either old or new value.

  See Also:
    Constant Field Values

### E_DELETED

    public static final int E_DELETED

  This value indicates that `ENTRY_DELETED` events should be evaluated. The event will be fired if there is no filter specified or the filter evaluates to true for an old value.

  See Also:
    Constant Field Values

### E_UPDATED_ENTERED

    public static final int E_UPDATED_ENTERED

  This value indicates that `ENTRY_UPDATED` events should be evaluated, but only if filter evaluation is false for the old value and true for the new value. This corresponds to an item that was not in a keySet filter result changing such that it would now be in that keySet filter result.

  Since:
    Coherence 3.1
  See Also:
    Constant Field Values

### E_UPDATED_LEFT

    public static final int E_UPDATED_LEFT

  This value indicates that `ENTRY_UPDATED` events should be evaluated, but only if filter evaluation is true for the old value and false for the new value. This corresponds to an item that was in a keySet filter result changing such that it would no longer be in that keySet filter result.

  Since:
    Coherence 3.1
  See Also:
    Constant Field Values

### E_UPDATED_WITHIN

    public static final int E_UPDATED_WITHIN

  This value indicates that `ENTRY_UPDATED` events should be evaluated, but only if filter evaluation is true for both the old and the new value. This corresponds to an item that was in a keySet filter result changing but not leaving the keySet filter result.

  Since:
    Coherence 3.1
  See Also:
    Constant Field Values

### E_ALL

    public static final int E_ALL

  This value indicates that all events should be evaluated.

  See Also:
    Constant Field Values

### E_KEYSET

    public static final int E_KEYSET

  This value indicates that all events that would affect the result of a `QueryMap.keySet(com.tangosol.util.Filter)` query should be evaluated.

  Since:
    Coherence 3.1
  See Also:
    Constant Field Values

### m_nMask

    protected int m_nMask

  The event mask.

### m_filter

    protected Filter m_filter

  The event value(s) filter.

Constructor Detail

### MapEventFilter

    public MapEventFilter()

  Default constructor (necessary for the ExternalizableLite interface).

### MapEventFilter

    public MapEventFilter(int nMask)

  Construct a MapEventFilter that evaluates MapEvent objects based on the specified combination of event types.

  Using this constructor is equivalent to: `new MapEventFilter(nMask, null);`

  Parameters:
    `nMask` - any combination of E_INSERTED, E_UPDATED and E_DELETED, E_UPDATED_ENTERED, E_UPDATED_WITHIN, E_UPDATED_LEFT
  Since:
    Coherence 3.1

### MapEventFilter

    public MapEventFilter(Filter filter)

  Construct a MapEventFilter that evaluates MapEvent objects that would affect the results of a keySet filter issued by a previous call to `QueryMap.keySet(com.tangosol.util.Filter)`. It is possible to easily implement continuous query functionality.

  Using this constructor is equivalent to: `new MapEventFilter(E_KEYSET, filter);`

  Parameters:
    `filter` - the filter passed previously to a keySet() query method
  Since:
    Coherence 3.1

### MapEventFilter

    public MapEventFilter(int nMask,
                          Filter filter)

  Construct a MapEventFilter that evaluates MapEvent objects based on the specified combination of event types.

  Parameters:
    `nMask` - combination of any of the E_* values
    `filter` - (optional) the filter used for evaluating event values

Method Detail

### evaluate

    public boolean evaluate(java.lang.Object o)

  Apply the test to the object.

  Specified by:
    `evaluate` in interface `Filter`
  Parameters:
    `o` - the object to test
  Returns:
    true if the test passes, false otherwise
  Throws:
    `java.lang.ClassCastException` - if the specified object is not an instance of MapEvent

### getEventMask

    public int getEventMask()

  Obtain the event mask. The mask value is concatenation of any of the E_* values.

  Returns:
    the event mask

### getFilter

    public Filter getFilter()

  Obtain the Filter object used to evaluate the event value(s).

  Returns:
    the filter used to evaluate the event value(s)

### equals

    public boolean equals(java.lang.Object o)

  Compare the MapEventFilter with another object to determine equality.

  Returns:
    true iff this MapEventFilter and the passed object are equivalent filters

### hashCode

    public int hashCode()

  Determine a hash value for the MapEventFilter object according to the general `Object.hashCode()` contract.

  Returns:
    an integer hash value for this MapEventFilter object

### toString

    public java.lang.String toString()

  Return a human-readable description for this Filter.

  Returns:
    a String description of the Filter

### readExternal

    public void readExternal(java.io.DataInput in)
                      throws java.io.IOException

  Restore the contents of this object by loading the object's state from the passed DataInput object.

  Specified by:
    `readExternal` in interface `ExternalizableLite`
  Parameters:
    `in` - the DataInput stream to read data from in order to restore the state of this object
  Throws:
    `java.io.IOException` - if an I/O exception occurs
    `java.io.NotActiveException` - if the object is not in its initial state, and therefore cannot be deserialized into

### writeExternal

    public void writeExternal(java.io.DataOutput out)
                       throws java.io.IOException

  Save the contents of this object by storing the object's state into the passed DataOutput object.

  Specified by:
    `writeExternal` in interface `ExternalizableLite`
  Parameters:
    `out` - the DataOutput stream to write the state of this object to
  Throws:
    `java.io.IOException` - if an I/O exception occurs

### readExternal

    public void readExternal(PofReader in)
                      throws java.io.IOException

  Restore the contents of a user type instance by reading its state using the specified PofReader object.

  Specified by:
    `readExternal` in interface `PortableObject`
  Parameters:
    `in` - the PofReader from which to read the object's state
  Throws:
    `java.io.IOException` - if an I/O error occurs

### writeExternal

    public void writeExternal(PofWriter out)
                       throws java.io.IOException

  Save the contents of a POF user type instance by writing its state using the specified PofWriter object.

  Specified by:
    `writeExternal` in interface `PortableObject`
  Parameters:
    `out` - the PofWriter to which to write the object's state
  Throws:
    `java.io.IOException` - if an I/O error occurs

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.