Cumulus4j API
(1.2.0-SNAPSHOT)

org.cumulus4j.store.query.eval
Class VariableExpressionEvaluator

java.lang.Object
  extended by org.cumulus4j.store.query.eval.AbstractExpressionEvaluator<VariableExpression>
      extended by org.cumulus4j.store.query.eval.VariableExpressionEvaluator

public class VariableExpressionEvaluator
extends AbstractExpressionEvaluator<VariableExpression>

Evaluator representing variables.

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

Constructor Summary
VariableExpressionEvaluator(QueryEvaluator queryEvaluator, AbstractExpressionEvaluator<?> parent, VariableExpression 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

VariableExpressionEvaluator

public VariableExpressionEvaluator(QueryEvaluator queryEvaluator,
                                   AbstractExpressionEvaluator<?> parent,
                                   VariableExpression 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<VariableExpression>
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<VariableExpression>
Returns:
the queryable Symbols or null (null is equivalent to an empty Set).
See Also:
AbstractExpressionEvaluator.getResultSymbols()

Cumulus4j API
(1.2.0-SNAPSHOT)

Copyright © 2013 NightLabs Consulting GmbH. All Rights Reserved.