public final class OrPredicate extends Object implements IndexAwarePredicate, VisitablePredicate, NegatablePredicate, IdentifiedDataSerializable, CompoundPredicate
Modifier and Type | Field and Description |
---|---|
protected Predicate[] |
predicates |
Constructor and Description |
---|
OrPredicate() |
OrPredicate(Predicate... predicates) |
Modifier and Type | Method and Description |
---|---|
Predicate |
accept(Visitor visitor,
Indexes indexes)
Accept visitor.
|
boolean |
apply(Map.Entry mapEntry)
Applies this predicate to the given map entry.
|
boolean |
equals(Object o) |
Set<QueryableEntry> |
filter(QueryContext queryContext)
Produces a filtered entry set by utilizing the indexes available while
executing the query in the given query context.
|
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
int |
getId()
Returns type identifier for this class.
|
<K,V> Predicate<K,V>[] |
getPredicates()
Visitable predicates are treated as effectively immutable, therefore callers should not make any changes to
the returned array.
|
int |
hashCode() |
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.
|
Predicate |
negate()
Create logical negation of itself.
|
void |
readData(ObjectDataInput in)
Reads fields from the input stream
|
<K,V> void |
setPredicates(Predicate<K,V>[] predicates)
Visitable predicates are treated as effectively immutable, therefore callers should not make any changes to
the array passed as argument after is has been set.
|
String |
toString() |
void |
writeData(ObjectDataOutput out)
Writes object fields to output stream
|
protected Predicate[] predicates
public OrPredicate()
public OrPredicate(Predicate... predicates)
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 boolean apply(Map.Entry mapEntry)
Predicate
Implementations must be thread-safe, since this method may be called by multiple threads concurrently.
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.public Predicate accept(Visitor visitor, Indexes indexes)
VisitablePredicate
accept
in interface VisitablePredicate
visitor
- visitor to acceptindexes
- indexespublic Predicate negate()
NegatablePredicate
negate
in interface NegatablePredicate
public int getFactoryId()
IdentifiedDataSerializable
getFactoryId
in interface IdentifiedDataSerializable
public int getId()
IdentifiedDataSerializable
getId
in interface IdentifiedDataSerializable
public <K,V> Predicate<K,V>[] getPredicates()
getPredicates
in interface CompoundPredicate
public <K,V> void setPredicates(Predicate<K,V>[] predicates)
setPredicates
in interface CompoundPredicate
predicates
- the array of sub-predicates for this Or
operator. It is not safe to make any changes to
this array after it has been set.Copyright © 2020 Hazelcast, Inc.. All Rights Reserved.