Cumulus4j API
(1.0.0)

org.cumulus4j.store.query.eval
Class SubqueryExpressionEvaluator

java.lang.Object
  extended by org.cumulus4j.store.query.eval.AbstractExpressionEvaluator<SubqueryExpression>
      extended by org.cumulus4j.store.query.eval.SubqueryExpressionEvaluator

public class SubqueryExpressionEvaluator
extends AbstractExpressionEvaluator<SubqueryExpression>

Evaluator handling a sub-query.

Author:
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 org.cumulus4j.store.query.eval.AbstractExpressionEvaluator
_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

SubqueryExpressionEvaluator

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

Parameters:
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

_queryResultDataEntryIDs

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>
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()).
Throws:
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:
AbstractExpressionEvaluator.queryResultDataEntryIDs(ResultDescriptor)

Cumulus4j API
(1.0.0)

Copyright © 2012 NightLabs Consulting GmbH. All Rights Reserved.