Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.util.extractor
Class ConditionalExtractor

`java.lang.Object
com.tangosol.util.Base
com.tangosol.util.BitHelper
com.tangosol.util.ExternalizableHelper
com.tangosol.util.extractor.AbstractExtractor
com.tangosol.util.extractor.ConditionalExtractor`

All Implemented Interfaces:
  ExternalizableLite, PortableObject, QueryMapComparator, IndexAwareExtractor, ValueExtractor, Serializable, Comparator

      public class ConditionalExtractor

extends AbstractExtractor
implements IndexAwareExtractor, ExternalizableLite, PortableObject

An IndexAwareExtractor implementation that is only used to create a `ConditionalIndex`. <p/> Note: the underlying ValueExtractor is used for value extraction during index creation and is the extractor that is associated with the created `ConditionalIndex` in the given index map. Using the ConditionalExtractor to extract values in not supported.

Since:
  Coherence 3.6
Author:
  tb 2010.02.08

Field Summary
`protected ValueExtractor` | `m_extractor` The underlying extractor.
`protected boolean` | `m_fForwardIndex` Specifies whether or not this extractor will create a `ConditionalIndex` that supports a forward index.
`protected Filter` | `m_filter` The filter used by this extractor.

Fields inherited from class com.tangosol.util.extractor.AbstractExtractor
`KEY, m_nTarget, VALUE`

Constructor Summary
`ConditionalExtractor()` Construct the ConditionalExtractor.
`ConditionalExtractor(Filter filter, ValueExtractor extractor, boolean fForwardIndex)` Construct the ConditionalExtractor.

Method Summary
`MapIndex` | `createIndex(boolean fOrdered, Comparator comparator, Map mapIndex)` Create an index and associate it with the corresponding extractor.
`MapIndex` | `destroyIndex(Map mapIndex)` Destroy an existing index and remove it from the given map of indexes.
`Object` | `extract(Object oTarget)` Using a ConditionalExtractor to extract values in not supported.
`void` | `readExternal(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.
`String` | `toString()` Return a human-readable description for this ConditionalExtractor.
`void` | `writeExternal(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.extractor.AbstractExtractor
`compare, compareEntries, extractFromEntry, extractOriginalFromEntry`

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`

Methods inherited from interface com.tangosol.util.ValueExtractor
`equals, hashCode`

Methods inherited from interface java.util.Comparator
`equals`

Field Detail

### m_filter

    protected Filter m_filter

  The filter used by this extractor.

### m_extractor

    protected ValueExtractor m_extractor

  The underlying extractor.

### m_fForwardIndex

    protected boolean m_fForwardIndex

  Specifies whether or not this extractor will create a `ConditionalIndex` that supports a forward index.

Constructor Detail

### ConditionalExtractor

    public ConditionalExtractor()

  Construct the ConditionalExtractor.

### ConditionalExtractor

    public ConditionalExtractor(Filter filter,
                                ValueExtractor extractor,
                                boolean fForwardIndex)

  Construct the ConditionalExtractor.
  Parameters:
    `filter` - the filter used by this extractor to create a `ConditionalIndex`
    `extractor` - the extractor used by this extractor to create a `ConditionalIndex`; Note that the created index will be associated with this extractor in the given index map
    `fForwardIndex` - specifies whether or not this extractor will create a `ConditionalIndex` that supports a forward map

Method Detail

### createIndex

    public MapIndex createIndex(boolean fOrdered,
                                Comparator comparator,
                                Map mapIndex)

  Create an index and associate it with the corresponding extractor. Important note: it is a responsibility of this method's implementations to place the necessary <ValueExtractor, MapIndex> entry into the given map of indexes.
  Specified by:
    `createIndex` in interface `IndexAwareExtractor`
  Parameters:
    `fOrdered` - true iff the contents of the indexed information should be ordered; false otherwise
    `comparator` - the Comparator object which imposes an ordering of entries in the index contents; or `null` if the entries' values natural ordering should be used
    `mapIndex` - Map<ValueExtractor, MapIndex> to be updated with the created index
  Returns:
    the created index; null if the index has not been created

### destroyIndex

    public MapIndex destroyIndex(Map mapIndex)

  Destroy an existing index and remove it from the given map of indexes.
  Specified by:
    `destroyIndex` in interface `IndexAwareExtractor`
  Parameters:
    `mapIndex` - map<ValueExtractor, MapIndex> to be updated by removing the index being destroyed
  Returns:
    the destroyed index; null if the index does not exist

### extract

    public Object extract(Object oTarget)

  Using a ConditionalExtractor to extract values in not supported.
  Specified by:
    `extract` in interface `ValueExtractor`
  Overrides:
    `extract` in class `AbstractExtractor`
  Parameters:
    `oTarget` - an Object to retrieve the value from
  Returns:
    the extracted value as an Object; null is an acceptable value
  Throws:
    `UnsupportedOperationException` - always

### readExternal

    public void readExternal(DataInput in)
                      throws 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:
    `IOException` - if an I/O exception occurs
    `NotActiveException` - if the object is not in its initial state, and therefore cannot be deserialized into

### writeExternal

    public void writeExternal(DataOutput out)
                       throws 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:
    `IOException` - if an I/O exception occurs

### readExternal

    public void readExternal(PofReader in)
                      throws 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:
    `IOException` - if an I/O error occurs

### writeExternal

    public void writeExternal(PofWriter out)
                       throws 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:
    `IOException` - if an I/O error occurs

### toString

    public String toString()

  Return a human-readable description for this ConditionalExtractor.
  Specified by:
    `toString` in interface `ValueExtractor`
  Returns:
    a String description of the ConditionalExtractor

Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.