Cumulus4j API
(1.0.0)

org.cumulus4j.store.query.eval
Class PrimaryExpressionEvaluator

java.lang.Object
  extended by org.cumulus4j.store.query.eval.AbstractExpressionEvaluator<PrimaryExpression>
      extended by org.cumulus4j.store.query.eval.PrimaryExpressionEvaluator

public class PrimaryExpressionEvaluator
extends AbstractExpressionEvaluator<PrimaryExpression>

Evaluator representing PrimaryExpressions.

Author:
Marco หงุ่ยตระกูล-Schulze - marco at nightlabs dot de
See Also:
PrimaryExpression

Constructor Summary
PrimaryExpressionEvaluator(QueryEvaluator queryEvaluator, AbstractExpressionEvaluator<?> parent, PrimaryExpression expression)
           
 
Method Summary
protected  Set<Symbol> _getResultSymbols()
           Get the Symbols for which AbstractExpressionEvaluator.queryResultDataEntryIDs(ResultDescriptor) (and thus AbstractExpressionEvaluator.queryResultObjects(ResultDescriptor)) can return a result.
protected  Set<Long> _queryResultDataEntryIDs(ResultDescriptor resultDescriptor)
          Execute a query for the given resultDescriptor.
 
Methods inherited from class org.cumulus4j.store.query.eval.AbstractExpressionEvaluator
_queryResultObjects, getExpression, getFieldType, getLeft, getParent, getQueryEvaluator, getResultSymbols, getRight, queryResultDataEntryIDs, queryResultObjects, setLeft, setRight
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrimaryExpressionEvaluator

public PrimaryExpressionEvaluator(QueryEvaluator queryEvaluator,
                                  AbstractExpressionEvaluator<?> parent,
                                  PrimaryExpression expression)
Method Detail

_queryResultDataEntryIDs

protected Set<Long> _queryResultDataEntryIDs(ResultDescriptor resultDescriptor)
Description copied from class: AbstractExpressionEvaluator
Execute a query for the given resultDescriptor. This method should contain the concrete logic for AbstractExpressionEvaluator.queryResultDataEntryIDs(ResultDescriptor) and must be implemented by subclasses.

Specified by:
_queryResultDataEntryIDs in class AbstractExpressionEvaluator<PrimaryExpression>
Parameters:
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.
Returns:
those dataEntryIDs 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()).
See Also:
AbstractExpressionEvaluator.queryResultDataEntryIDs(ResultDescriptor)

_getResultSymbols

protected Set<Symbol> _getResultSymbols()
Description copied from class: AbstractExpressionEvaluator

Get the Symbols for which AbstractExpressionEvaluator.queryResultDataEntryIDs(ResultDescriptor) (and thus AbstractExpressionEvaluator.queryResultObjects(ResultDescriptor)) can return a result. For all other Symbols, said methods return null.

The default implementation in AbstractExpressionEvaluator collects the result-symbols from its left and its right side and returns this combined Set.

This is the actual implementation of AbstractExpressionEvaluator.getResultSymbols() and should be overridden instead of the non-"_"-prefixed version, in most cases.

Overrides:
_getResultSymbols in class AbstractExpressionEvaluator<PrimaryExpression>
Returns:
the queryable Symbols or null (null is equivalent to an empty Set).
See Also:
AbstractExpressionEvaluator.getResultSymbols()

Cumulus4j API
(1.0.0)

Copyright © 2012 NightLabs Consulting GmbH. All Rights Reserved.