|
Cumulus4j API (1.2.0-SNAPSHOT) |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.cumulus4j.store.query.QueryEvaluator
public abstract class QueryEvaluator
API-agnostic query implementation. An instance of this class performs the actual query. It is used by both APIs, JDO and JPA.
| Field Summary | |
|---|---|
static String |
RESULTS_SET
Name under which any set of results are stored in the state map. |
| Constructor Summary | |
|---|---|
QueryEvaluator(String language,
Query query,
QueryCompilation compilation,
Map<String,Object> parameterValues,
ClassLoaderResolver clr,
PersistenceManagerConnection pmConn,
CryptoContext cryptoContext)
|
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String RESULTS_SET
| Constructor Detail |
|---|
public QueryEvaluator(String language,
Query query,
QueryCompilation compilation,
Map<String,Object> parameterValues,
ClassLoaderResolver clr,
PersistenceManagerConnection pmConn,
CryptoContext cryptoContext)
language - Query language (JDOQL, JPQL, etc)compilation - generic compilationparameterValues - Input values for the paramsclr - ClassLoader resolverpmConn - our backend-PersistenceManager connection(s).cryptoContext - TODO| Method Detail |
|---|
public boolean isComplete()
public void setIncomplete()
public String getLanguage()
public String getCandidateAlias()
public Query getQuery()
public QueryCompilation getCompilation()
public Map<String,Object> getParameterValues()
public Map<String,Object> getState()
public ClassLoaderResolver getClassLoaderResolver()
public ExecutionContext getExecutionContext()
public Cumulus4jStoreManager getStoreManager()
public PersistenceManagerConnection getPersistenceManagerConnection()
public PersistenceManager getPersistenceManagerForData()
public PersistenceManager getPersistenceManagerForIndex()
public EncryptionHandler getEncryptionHandler()
public void pushResultDescriptor(ResultDescriptor resultDescriptor)
ResultDescriptor onto the stack.
resultDescriptor - the descriptor to be pushed.public ResultDescriptor popResultDescriptor()
ResultDescriptor from the stack.
public ClassMeta getValueTypeClassMeta(Symbol symbol,
boolean throwExceptionIfNotFound)
public EmbeddedClassMeta getValueTypeEmbeddedClassMeta(Symbol symbol)
public void registerValueTypeEmbeddedClassMeta(Symbol symbol,
EmbeddedClassMeta embeddedClassMeta)
public Class<?> getValueType(Symbol symbol)
Symbol's valueType by taking ResultDescriptors into account.
Delegates to getValueType(Symbol, boolean) with throwExceptionIfNotFound == true.
symbol - the symbol whose valueType should be resolved.
null.getValueType(Symbol, boolean)
public Class<?> getValueType(Symbol symbol,
boolean throwExceptionIfNotFound)
Get a Symbol's valueType by taking ResultDescriptors into account.
This method (or alternatively getValueType(Symbol)) should always be used instead of directly
accessing Symbol.getValueType()!!! This allows for implicit variables (which are not declared).
This method first checks, if Symbol.getValueType() returns a value and if so, returns it. Otherwise
it searches the stack of ResultDescriptors (maintained via pushResultDescriptor(ResultDescriptor)
and popResultDescriptor()) and returns the first found ResultDescriptor.getResultType().
symbol - the symbol whose valueType should be resolved.throwExceptionIfNotFound - whether to throw an IllegalStateException [exception type might be changed without notice!],
if the type cannot be resolved. If false this method returns null instead.
null, if not resolvable and throwExceptionIfNotFound == false.getValueType(Symbol),
pushResultDescriptor(ResultDescriptor),
popResultDescriptor()
protected abstract Collection<Object> evaluateSubquery(Query subquery,
QueryCompilation compilation,
Object outerCandidate)
public List<Object> execute()
public AbstractExpressionEvaluator<?> getExpressionEvaluator()
public Object getObjectForDataEntry(DataEntry dataEntry)
public Object getObjectForClassMetaAndObjectIDString(ClassMeta classMeta,
String objectIDString)
public Set<Long> getAllDataEntryIDsForCandidateClasses(Set<ClassMeta> candidateClassMetas)
public CryptoContext getCryptoContext()
|
Cumulus4j API (1.2.0-SNAPSHOT) |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||