Cumulus4j API
Class SubqueryExpressionEvaluator

  extended by<SubqueryExpression>
      extended by

public class SubqueryExpressionEvaluator
extends AbstractExpressionEvaluator<SubqueryExpression>

Evaluator handling a sub-query.

Andy Jefferson, Marco หงุ่ยตระกูล-Schulze - marco at nightlabs dot de (only added javadoc)

Constructor Summary
SubqueryExpressionEvaluator(QueryEvaluator queryEvaluator, AbstractExpressionEvaluator<?> parent, SubqueryExpression expression)
          Create an instance.
Method Summary
protected  Set<Long> _queryResultDataEntryIDs(ResultDescriptor resultDescriptor)
          Execute a query for the given resultDescriptor.
Methods inherited from class
_getResultSymbols, _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


public SubqueryExpressionEvaluator(QueryEvaluator queryEvaluator,
                                   AbstractExpressionEvaluator<?> parent,
                                   SubqueryExpression expression)
Create an instance.

queryEvaluator - the evaluator responsible for the evaluation of the whole query.
parent - the parent in the tree structure or null, if this is the root.
expression - the expression to evaluate.
Method Detail


protected Set<Long> _queryResultDataEntryIDs(ResultDescriptor resultDescriptor)
                                      throws UnsupportedOperationException
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<SubqueryExpression>
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.
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()).
UnsupportedOperationException - if the implementation does not support querying at all (e.g. because it makes no sense without more context) or if the concrete query situation is not yet supported.
See Also:

Cumulus4j API

Copyright © 2013 NightLabs Consulting GmbH. All Rights Reserved.