|
Cumulus4j API (1.0.0) |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.cumulus4j.store.query.eval.AbstractExpressionEvaluator<DyadicExpression> org.cumulus4j.store.query.eval.OrExpressionEvaluator
public class OrExpressionEvaluator
Evaluator handling the boolean operation "||" (OR).
This evaluator works just like the AndExpressionEvaluator
with the only difference
that it unites the partial results instead of intersecting them.
If the ResultDescriptor
indicates a negation
, this evaluator
delegates to the AndExpressionEvaluator
, because a query like
"!( a > 5 || b <= 12 )" is internally converted to "a <= 5 && b > 12" for performance reasons.
See NotExpressionEvaluator
as well as
De Morgan's laws in wikipedia for details.
AndExpressionEvaluator
Constructor Summary | |
---|---|
OrExpressionEvaluator(AndExpressionEvaluator negatedExpressionEvaluator)
|
|
OrExpressionEvaluator(QueryEvaluator queryEvaluator,
AbstractExpressionEvaluator<?> parent,
DyadicExpression expression)
|
Method Summary | |
---|---|
protected Set<Long> |
_queryResultDataEntryIDs(ResultDescriptor resultDescriptor)
Execute a query for the given resultDescriptor . |
protected Set<Long> |
_queryResultDataEntryIDsIgnoringNegation(ResultDescriptor resultDescriptor)
|
AbstractExpressionEvaluator<? extends Expression> |
getLeft()
Get the left branch in the tree structure. |
AbstractExpressionEvaluator<? extends Expression> |
getRight()
Get the right branch in the tree structure. |
Methods inherited from class org.cumulus4j.store.query.eval.AbstractExpressionEvaluator |
---|
_getResultSymbols, _queryResultObjects, getExpression, getFieldType, getParent, getQueryEvaluator, getResultSymbols, queryResultDataEntryIDs, queryResultObjects, setLeft, setRight |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public OrExpressionEvaluator(QueryEvaluator queryEvaluator, AbstractExpressionEvaluator<?> parent, DyadicExpression expression)
public OrExpressionEvaluator(AndExpressionEvaluator negatedExpressionEvaluator)
Method Detail |
---|
public AbstractExpressionEvaluator<? extends Expression> getLeft()
AbstractExpressionEvaluator
getLeft
in class AbstractExpressionEvaluator<DyadicExpression>
null
if there is none.AbstractExpressionEvaluator.setLeft(AbstractExpressionEvaluator)
,
AbstractExpressionEvaluator.getRight()
public AbstractExpressionEvaluator<? extends Expression> getRight()
AbstractExpressionEvaluator
getRight
in class AbstractExpressionEvaluator<DyadicExpression>
null
if there is none.AbstractExpressionEvaluator.setRight(AbstractExpressionEvaluator)
,
AbstractExpressionEvaluator.getLeft()
protected Set<Long> _queryResultDataEntryIDs(ResultDescriptor resultDescriptor)
AbstractExpressionEvaluator
resultDescriptor
. This method should contain
the concrete logic for AbstractExpressionEvaluator.queryResultDataEntryIDs(ResultDescriptor)
and must be implemented
by subclasses.
_queryResultDataEntryIDs
in class AbstractExpressionEvaluator<DyadicExpression>
resultDescriptor
- the descriptor specifying what candidates (usually "this" or a variable) the
caller is interested in as well as modifiers (e.g. negation
)
affecting the query.
dataEntryID
s that match the query
criteria for the specified resultSymbol
or null
, if the symbol is not
supported (this should be consistent with the implementation of AbstractExpressionEvaluator._getResultSymbols()
).AbstractExpressionEvaluator.queryResultDataEntryIDs(ResultDescriptor)
protected Set<Long> _queryResultDataEntryIDsIgnoringNegation(ResultDescriptor resultDescriptor)
|
Cumulus4j API (1.0.0) |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |