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 FilterTrigger

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

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

    public class FilterTrigger

extends ExternalizableHelper
implements MapTrigger, ExternalizableLite, PortableObject

A generic Filter-based MapTrigger implementation. If an evaluation of the `Entry` object representing a pending change fails (returns false), then one of the following actions is taken:

- ACTION_ROLLBACK - an IllegalArgumentException is thrown by the trigger to reject the operation that would result in this change (default);
- ACTION_IGNORE - the change is ignored and the Entry's value is reset to the original value returned by the `Entry.getOriginalValue()` method;
- ACTION_REMOVE - the entry is removed from the underlying backing map using the `Entry.remove(true)` call.

Note: This trigger never prevents entries from being removed.

Since:
  Coherence 3.4
Author:
  gg 2008.03.11

Nested Class Summary

Nested classes/interfaces inherited from interface com.tangosol.util.MapTrigger
`MapTrigger.Entry`

Field Summary
`static int` | `ACTION_IGNORE` Evaluation failure results in restoring the original Entry's value.
`static int` | `ACTION_REMOVE` Evaluation failure results in a removal of the entry.
`static int` | `ACTION_ROLLBACK` Evaluation failure results in an IllegalArgumentException thrown by the trigger.
`protected Filter` | `m_filter` The underlying filter.
`protected int` | `m_nAction` The action code.

Constructor Summary
`FilterTrigger()` Default constructor (necessary for the ExternalizableLite interface).
`FilterTrigger(Filter filter)` Construct a FilterTrigger based on the specified Filter object and ACTION_ROLLBACK.
`FilterTrigger(Filter filter, int nAction)` Construct a FilterTrigger based on the specified Filter object and the action constant.

Method Summary
`boolean` | `equals(java.lang.Object o)` Compare the FilterTrigger with another object to determine equality.
`int` | `getAction()` Obtain the action code for this FilterTrigger.
`Filter` | `getFilter()` Obtain the underlying Filter.
`int` | `hashCode()` Determine a hash value for the FilterTrigger object according to the general `Object.hashCode()` contract.
`void` | `process(MapTrigger.Entry entry)` This method is called before the result of a mutating operation represented by the specified Entry object is committed into the underlying map.
`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 FilterTrigger.
`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

### ACTION_ROLLBACK

    public static final int ACTION_ROLLBACK

  Evaluation failure results in an IllegalArgumentException thrown by the trigger.

  See Also:
    Constant Field Values

### ACTION_IGNORE

    public static final int ACTION_IGNORE

  Evaluation failure results in restoring the original Entry's value.

  See Also:
    Constant Field Values

### ACTION_REMOVE

    public static final int ACTION_REMOVE

  Evaluation failure results in a removal of the entry.

  See Also:
    Constant Field Values

### m_filter

    protected Filter m_filter

  The underlying filter.

### m_nAction

    protected int m_nAction

  The action code.

Constructor Detail

### FilterTrigger

    public FilterTrigger()

  Default constructor (necessary for the ExternalizableLite interface).

### FilterTrigger

    public FilterTrigger(Filter filter)

  Construct a FilterTrigger based on the specified Filter object and ACTION_ROLLBACK.

  Parameters:
    `filter` - the underlying Filter

### FilterTrigger

    public FilterTrigger(Filter filter,
                         int nAction)

  Construct a FilterTrigger based on the specified Filter object and the action constant.

  Parameters:
    `filter` - the underlying Filter
    `nAction` - one of the ACTION_* constants

Method Detail

### process

    public void process(MapTrigger.Entry entry)

  This method is called before the result of a mutating operation represented by the specified Entry object is committed into the underlying map.

  An implementation of this method can evaluate the change by analyzing the original and the new value, and can perform any of the following:
  - override the requested change by calling `InvocableMap.Entry.setValue(java.lang.Object)` with a different value;
  - undo the pending change by resetting the entry value to the original value obtained from `MapTrigger.Entry.getOriginalValue()`;
  - remove the entry from the underlying map by calling `InvocableMap.Entry.remove(boolean)`;
  - reject the pending change by throwing a RuntimeException, which will prevent any changes from being committed, and will result in the exception being thrown from the operation that attempted to modify the map; or
  - do nothing, thus allowing the pending change to be committed to the underlying map.

  Specified by:
    `process` in interface `MapTrigger`
  Parameters:
    `entry` - a `MapTrigger.Entry` object that represents the pending change to be committed to the map, as well as the original state of the Entry

### getFilter

    public Filter getFilter()

  Obtain the underlying Filter.

  Returns:
    the underlying Filter object

### getAction

    public int getAction()

  Obtain the action code for this FilterTrigger.

  Returns:
    one of the ACTION_* constants

### 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

### equals

    public boolean equals(java.lang.Object o)

  Compare the FilterTrigger with another object to determine equality. Two FilterTrigger objects are considered equal iff the wrapped filters and action codes are equal.

  Returns:
    true iff this FilterTrigger and the passed object are equivalent FilterTrigger objects

### hashCode

    public int hashCode()

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

  Returns:
    an integer hash value for this FilterTrigger object

### toString

    public java.lang.String toString()

  Return a human-readable description for this FilterTrigger.

  Returns:
    a String description of the FilterTrigger

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.