Cumulus4j API
(1.2.0-SNAPSHOT)

org.cumulus4j.store.query.eval
Class PrimaryExpressionResolver

java.lang.Object
  extended by org.cumulus4j.store.query.eval.PrimaryExpressionResolver
Direct Known Subclasses:
ExpressionHelper.ContainsConstantResolver, ExpressionHelper.ContainsVariableResolver

public abstract class PrimaryExpressionResolver
extends Object

Abstract base class for easy resolving of PrimaryExpressions. This class takes care of following one-to-one-relations inside the PrimaryExpression.

For example, this.aaa.bbb.ccc.ddd.someSet.contains(:param) requires first to evaluate DDD.someSet.contains(:param) and then to follow the field chain back from ddd over ccc over bbb over aaa finally to this. The subclasses of PrimaryExpressionResolver only need to take care of the implementation of the last part in the chain (in our example DDD.someSet.contains(:param)) - the rest is done here.

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

Field Summary
protected  CryptoContext cryptoContext
           
protected  ExecutionContext executionContext
           
protected  PrimaryExpression primaryExpression
           
protected  QueryEvaluator queryEvaluator
           
 
Constructor Summary
PrimaryExpressionResolver(QueryEvaluator queryEvaluator, PrimaryExpression primaryExpression)
           
 
Method Summary
 Set<Long> query()
           
protected abstract  Set<Long> queryEnd(FieldMeta fieldMeta, ClassMeta classMeta)
           
protected  Set<Long> queryMiddle(ClassMeta classMeta, List<String> tuples)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

queryEvaluator

protected QueryEvaluator queryEvaluator

primaryExpression

protected PrimaryExpression primaryExpression

cryptoContext

protected CryptoContext cryptoContext

executionContext

protected ExecutionContext executionContext
Constructor Detail

PrimaryExpressionResolver

public PrimaryExpressionResolver(QueryEvaluator queryEvaluator,
                                 PrimaryExpression primaryExpression)
Method Detail

query

public Set<Long> query()

queryMiddle

protected Set<Long> queryMiddle(ClassMeta classMeta,
                                List<String> tuples)

queryEnd

protected abstract Set<Long> queryEnd(FieldMeta fieldMeta,
                                      ClassMeta classMeta)

Cumulus4j API
(1.2.0-SNAPSHOT)

Copyright © 2013 NightLabs Consulting GmbH. All Rights Reserved.