Interface IndexAwareExtractor<T,E>

All Superinterfaces:
CanonicallyNamed, Function<T,E>, Remote.Function<T,E>, Remote.ToDoubleFunction<T>, Remote.ToIntFunction<T>, Remote.ToLongFunction<T>, Serializable, ToDoubleFunction<T>, ToIntFunction<T>, ToLongFunction<T>, ValueExtractor<T,E>
All Known Implementing Classes:
ConditionalExtractor, DeserializationAccelerator

public interface IndexAwareExtractor<T,E> extends ValueExtractor<T,E>
IndexAwareExtractor is an extension to the ValueExtractor interface that supports the creation and destruction of an index. Instances of this interface are intended to be used with the QueryMap.addIndex(ValueExtractor, boolean, Comparator) and QueryMap.removeIndex(ValueExtractor) API to support the creation of custom indexes.
Since:
Coherence 3.6
Author:
tb 2010.02.08
  • Method Details

    • createIndex

      MapIndex createIndex(boolean fOrdered, Comparator comparator, Map<ValueExtractor<T,E>, MapIndex> mapIndex, BackingMapContext ctx)
      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.
      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
      ctx - The context the index is associate with.
      Returns:
      the created index; null if the index has not been created
    • destroyIndex

      MapIndex destroyIndex(Map<ValueExtractor<T,E>, MapIndex> mapIndex)
      Destroy an existing index and remove it from the given map of indexes.
      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
    • getExtractor

      default ValueExtractor getExtractor(Map<ValueExtractor<T,E>, MapIndex> mapIndex, MapIndex index)
      Obtain the underlying ValueExtractor that was added to the index map during the index creation.
      Parameters:
      mapIndex - Map<ValueExtractor, MapIndex> containing the index created by this extractor
      index - the index created by this extractor
      Returns:
      the corresponding ValueExtractor
      Since:
      Coherence 12.2.1.1