public class PredicateBuilder extends Object implements IndexAwarePredicate, DataSerializable
Constructor and Description |
---|
PredicateBuilder() |
Modifier and Type | Method and Description |
---|---|
PredicateBuilder |
and(Predicate predicate) |
boolean |
apply(Map.Entry mapEntry)
Applies this predicate to the given map entry.
|
Set<QueryableEntry> |
filter(QueryContext queryContext)
Produces a filtered entry set by utilizing the indexes available while
executing the query in the given query context.
|
String |
getAttribute() |
EntryObject |
getEntryObject() |
boolean |
isIndexed(QueryContext queryContext)
Signals to the query engine that this predicate is able to utilize the
indexes available while executing the query in the given query context.
|
PredicateBuilder |
or(Predicate predicate) |
void |
readData(ObjectDataInput in)
Reads fields from the input stream
|
void |
setAttribute(String attribute) |
String |
toString() |
void |
writeData(ObjectDataOutput out)
Writes object fields to output stream
|
public String getAttribute()
public void setAttribute(String attribute)
public boolean apply(Map.Entry mapEntry)
Predicate
Implementations must be thread-safe, since this method may be called by multiple threads concurrently.
public EntryObject getEntryObject()
public PredicateBuilder and(Predicate predicate)
public PredicateBuilder or(Predicate predicate)
public Set<QueryableEntry> filter(QueryContext queryContext)
IndexAwarePredicate
The query engine assumes this method produces the result set faster than a simple evaluation of the predicate on every entry.
filter
in interface IndexAwarePredicate
queryContext
- the query context to access the indexes. The passed
query context is valid only for a duration of a single
call to the method.public boolean isIndexed(QueryContext queryContext)
IndexAwarePredicate
isIndexed
in interface IndexAwarePredicate
queryContext
- the query context to consult for the available
indexes.true
if this predicate is able to use the indexes to
speed up the processing, false
otherwise.public void writeData(ObjectDataOutput out) throws IOException
DataSerializable
writeData
in interface DataSerializable
out
- outputIOException
- if an I/O error occurs. In particular,
an IOException
may be thrown if the
output stream has been closed.public void readData(ObjectDataInput in) throws IOException
DataSerializable
readData
in interface DataSerializable
in
- inputIOException
- if an I/O error occurs. In particular,
an IOException
may be thrown if the
input stream has been closed.Copyright © 2022 Hazelcast, Inc.. All Rights Reserved.