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(com.tangosol.util.ValueExtractor<? super T, ? extends E>, boolean, java.util.Comparator<? super E>) and QueryMap.removeIndex(com.tangosol.util.ValueExtractor<? super T, ? extends E>) 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