public interface IndexStore
Index implementation.| Modifier and Type | Method and Description |
|---|---|
boolean |
canEvaluate(Class<? extends Predicate> predicateClass) |
Comparable |
canonicalizeQueryArgumentScalar(Comparable value)
Canonicalizes the given value for the purpose of a hash-based lookup.
|
void |
clear()
Clears the contents of this index by purging all its entries.
|
void |
destroy()
Destroys this index by releasing all its resources.
|
Set<QueryableEntry> |
evaluate(Predicate predicate,
TypeConverter converter)
Evaluates the given predicate using this index store.
|
Set<QueryableEntry> |
getRecords(Comparable value)
Obtains entries that have indexed attribute value equal to the given
value.
|
Set<QueryableEntry> |
getRecords(Comparable from,
boolean fromInclusive,
Comparable to,
boolean toInclusive)
Obtains entries that have indexed attribute value belonging to the given
range.
|
Set<QueryableEntry> |
getRecords(Comparison comparison,
Comparable value)
Obtains entries that have indexed attribute value satisfying the given
comparison with the given value.
|
Set<QueryableEntry> |
getRecords(Set<Comparable> values)
Obtains entries that have indexed attribute value equal to one of the
given set of values.
|
void |
insert(Object value,
QueryableEntry entry,
IndexOperationStats operationStats)
Inserts the given entry into this index store under the given value
acting as an index key.
|
boolean |
isEvaluateOnly() |
void |
remove(Object value,
Data entryKey,
Object entryValue,
IndexOperationStats operationStats)
Removes the existing entry mapping in this index.
|
void |
update(Object oldValue,
Object newValue,
QueryableEntry entry,
IndexOperationStats operationStats)
Updates the existing entry mapping in this index by remapping it from the
given old value to the new given value.
|
Comparable canonicalizeQueryArgumentScalar(Comparable value)
The method is used while performing InPredicate queries to canonicalize the set of values in question, so additional duplicate-eliminating post-processing step can be avoided.
The main difference comparing to BaseIndexStore.canonicalizeScalarForStorage(java.lang.Comparable)
is that this method is specifically designed to support the
canonicalization of transient non-persistent values (think of query
arguments), so a more efficient representation may chosen.
value - the value to canonicalize.void insert(Object value, QueryableEntry entry, IndexOperationStats operationStats)
value - the value to insert the entry under.entry - the entry to insert.operationStats - the operation stats to update while performing the
operation.Index.putEntry(com.hazelcast.query.impl.QueryableEntry, java.lang.Object, com.hazelcast.query.impl.Index.OperationSource),
IndexOperationStats.onEntryAdded(java.lang.Object, java.lang.Object)void update(Object oldValue, Object newValue, QueryableEntry entry, IndexOperationStats operationStats)
The update operation is logically equivalent to removing the old mapping and inserting the new one.
oldValue - the value to remap the entry from.newValue - the new value to remap the entry to.entry - the entry to remap.operationStats - the operation stats to update while performing the
operation.remove(java.lang.Object, com.hazelcast.nio.serialization.Data, java.lang.Object, com.hazelcast.monitor.impl.IndexOperationStats),
insert(java.lang.Object, com.hazelcast.query.impl.QueryableEntry, com.hazelcast.monitor.impl.IndexOperationStats),
Index.putEntry(com.hazelcast.query.impl.QueryableEntry, java.lang.Object, com.hazelcast.query.impl.Index.OperationSource),
IndexOperationStats.onEntryRemoved(java.lang.Object),
IndexOperationStats.onEntryAdded(java.lang.Object, java.lang.Object)void remove(Object value, Data entryKey, Object entryValue, IndexOperationStats operationStats)
value - the value to remove the mapping from.entryKey - the entry key to remove the mapping to.entryValue - the entry value to remove the mapping to.operationStats - the operation stats to update while performing the
operation.Index.removeEntry(com.hazelcast.nio.serialization.Data, java.lang.Object, com.hazelcast.query.impl.Index.OperationSource),
IndexOperationStats.onEntryRemoved(java.lang.Object)void clear()
void destroy()
boolean isEvaluateOnly()
true if this index store supports querying only with
evaluate(com.hazelcast.query.Predicate, com.hazelcast.core.TypeConverter) method, false otherwise.boolean canEvaluate(Class<? extends Predicate> predicateClass)
true if this index store can evaluate a predicate of the
given predicate class, false otherwise.Set<QueryableEntry> evaluate(Predicate predicate, TypeConverter converter)
predicate - the predicate to evaluate. The predicate is guaranteed
to be evaluable by this index store (canEvaluate
returned true for its class).Set<QueryableEntry> getRecords(Comparable value)
value - the value to obtains the entries for.Index.getRecords(Comparable)Set<QueryableEntry> getRecords(Set<Comparable> values)
values - the values to obtains the entries for.Index.getRecords(Comparable[])Set<QueryableEntry> getRecords(Comparison comparison, Comparable value)
comparison - the comparison to perform.value - the value to perform the comparison with.Index.getRecords(Comparison, Comparable)Set<QueryableEntry> getRecords(Comparable from, boolean fromInclusive, Comparable to, boolean toInclusive)
from - the beginning of the range.fromInclusive - true if the beginning of the range is
inclusive, false otherwise.to - the end of the range.toInclusive - true if the end of the range is inclusive,
false otherwise.Index.getRecords(Comparable, boolean, Comparable, boolean)Copyright © 2020 Hazelcast, Inc.. All Rights Reserved.