Package com.tangosol.util.extractor
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 theValueExtractor
interface that supports the creation and destruction of anindex
. Instances of this interface are intended to be used with theQueryMap.addIndex(com.tangosol.util.ValueExtractor<? super T, ? extends E>, boolean, java.util.Comparator<? super E>)
andQueryMap.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 Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description MapIndex
createIndex(boolean fOrdered, Comparator comparator, Map<ValueExtractor<T,E>,MapIndex> mapIndex, BackingMapContext ctx)
Create an index and associate it with the corresponding extractor.MapIndex
destroyIndex(Map<ValueExtractor<T,E>,MapIndex> mapIndex)
Destroy an existing index and remove it from the given map of indexes.default ValueExtractor
getExtractor(Map<ValueExtractor<T,E>,MapIndex> mapIndex, MapIndex index)
Obtain the underlying ValueExtractor that was added to the index map during theindex creation
.-
Methods inherited from interface com.tangosol.util.function.Remote.Function
andThen, compose
-
Methods inherited from interface com.tangosol.util.ValueExtractor
andThen, apply, applyAsDouble, applyAsInt, applyAsLong, compose, equals, extract, fromKey, getCanonicalName, getTarget, hashCode
-
-
-
-
Method Detail
-
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 otherwisecomparator
- the Comparator object which imposes an ordering of entries in the index contents; or null if the entries' values natural ordering should be usedmapIndex
- Map<ValueExtractor, MapIndex> to be updated with the created indexctx
- Thecontext
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 theindex creation
.- Parameters:
mapIndex
- Map<ValueExtractor, MapIndex> containing the indexcreated by this extractor
index
- the indexcreated by this extractor
- Returns:
- the corresponding ValueExtractor
- Since:
- Coherence 12.2.1.1
-
-