public abstract static class ExpressionStoreQuery.AbstractExpressionExecutor extends AbstractStoreQuery.AbstractExecutor implements StoreQuery.Executor
QueryExpressions
instance.Constructor and Description |
---|
AbstractExpressionExecutor() |
Modifier and Type | Method and Description |
---|---|
protected void |
assertNotContainer(Value val,
StoreQuery q)
Throw proper exception if given value is a collection/map/array.
|
ClassMetaData[] |
getAccessPathMetaDatas(StoreQuery q)
Return an array of all persistent classes used in this query, or
empty array if unknown.
|
String |
getAlias(StoreQuery q)
If this is not a projection but the candidate results are placed
into a result class with an alias, return that alias.
|
boolean[] |
getAscending(StoreQuery q)
Return the ordering direction for all ordering clauses, or empty
array if none.
|
int |
getOperation(StoreQuery q)
Returns the operation this executor is meant to execute.
|
OrderedMap<Object,Class<?>> |
getOrderedParameterTypes(StoreQuery q)
Return a map of parameter names to types.
|
String[] |
getProjectionAliases(StoreQuery q)
Return the alias for each projection element, or empty array
if not a projection.
|
Class<?>[] |
getProjectionTypes(StoreQuery q)
Return the expected types of the projections used by this query,
or an empty array if not a projection.
|
void |
getRange(StoreQuery q,
Object[] params,
StoreQuery.Range range)
Mutate the given range to set any range information stored in
the query string and/or parameters.
|
Class<?> |
getResultClass(StoreQuery q)
Returns the result class, if any.
|
ResultShape<?> |
getResultShape(StoreQuery q) |
Map |
getUpdates(StoreQuery q)
Return a map of
FieldMetaData to update
Constant s, in cases where this query is for a bulk update. |
boolean |
hasGrouping(StoreQuery q)
Whether the compiled query has grouping.
|
boolean |
isAggregate(StoreQuery q)
Return true if the compiled query is an aggregate.
|
boolean |
isDistinct(StoreQuery q) |
boolean |
isPacking(StoreQuery q)
Return true if this executor packs projections into the result
class itself.
|
Object[] |
toParameterArray(StoreQuery q,
Map<?,?> userParams)
Creates a Object[] from the values of the given user parameters.
|
void |
validate(StoreQuery q)
Validate components of query.
|
executeDelete, executeUpdate, getDataStoreActions, getOrderingValue, getParameterTypes, getQueryExpressions
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
executeDelete, executeQuery, executeUpdate, getDataStoreActions, getOrderingValue, getParameterTypes, getQueryExpressions
protected void assertNotContainer(Value val, StoreQuery q)
public final void validate(StoreQuery q)
StoreQuery.Executor
validate
in interface StoreQuery.Executor
validate
in class AbstractStoreQuery.AbstractExecutor
public void getRange(StoreQuery q, Object[] params, StoreQuery.Range range)
StoreQuery.Executor
getRange
in interface StoreQuery.Executor
getRange
in class AbstractStoreQuery.AbstractExecutor
public final Class<?> getResultClass(StoreQuery q)
StoreQuery.Executor
getResultClass
in interface StoreQuery.Executor
getResultClass
in class AbstractStoreQuery.AbstractExecutor
public final ResultShape<?> getResultShape(StoreQuery q)
getResultShape
in interface StoreQuery.Executor
getResultShape
in class AbstractStoreQuery.AbstractExecutor
public final boolean[] getAscending(StoreQuery q)
StoreQuery.Executor
getAscending
in interface StoreQuery.Executor
getAscending
in class AbstractStoreQuery.AbstractExecutor
public final String getAlias(StoreQuery q)
StoreQuery.Executor
getAlias
in interface StoreQuery.Executor
getAlias
in class AbstractStoreQuery.AbstractExecutor
public final String[] getProjectionAliases(StoreQuery q)
StoreQuery.Executor
getProjectionAliases
in interface StoreQuery.Executor
getProjectionAliases
in class AbstractStoreQuery.AbstractExecutor
public Class<?>[] getProjectionTypes(StoreQuery q)
StoreQuery.Executor
getProjectionTypes
in interface StoreQuery.Executor
getProjectionTypes
in class AbstractStoreQuery.AbstractExecutor
public final int getOperation(StoreQuery q)
StoreQuery.Executor
getOperation
in interface StoreQuery.Executor
getOperation
in class AbstractStoreQuery.AbstractExecutor
QueryOperations
public final boolean isAggregate(StoreQuery q)
StoreQuery.Executor
isAggregate
in interface StoreQuery.Executor
isAggregate
in class AbstractStoreQuery.AbstractExecutor
public final boolean isDistinct(StoreQuery q)
isDistinct
in interface StoreQuery.Executor
isDistinct
in class AbstractStoreQuery.AbstractExecutor
public final boolean hasGrouping(StoreQuery q)
StoreQuery.Executor
hasGrouping
in interface StoreQuery.Executor
hasGrouping
in class AbstractStoreQuery.AbstractExecutor
public final OrderedMap<Object,Class<?>> getOrderedParameterTypes(StoreQuery q)
StoreQuery.Executor
Map.entrySet()
's Iterator
must return values in the
order in which they were declared or used.getOrderedParameterTypes
in interface StoreQuery.Executor
getOrderedParameterTypes
in class AbstractStoreQuery.AbstractExecutor
public Object[] toParameterArray(StoreQuery q, Map<?,?> userParams)
toParameterArray
in interface StoreQuery.Executor
public final Map getUpdates(StoreQuery q)
StoreQuery.Executor
FieldMetaData
to update
Constant
s, in cases where this query is for a bulk update.getUpdates
in interface StoreQuery.Executor
getUpdates
in class AbstractStoreQuery.AbstractExecutor
public final ClassMetaData[] getAccessPathMetaDatas(StoreQuery q)
StoreQuery.Executor
getAccessPathMetaDatas
in interface StoreQuery.Executor
getAccessPathMetaDatas
in class AbstractStoreQuery.AbstractExecutor
public boolean isPacking(StoreQuery q)
StoreQuery.Executor
isPacking
in interface StoreQuery.Executor
isPacking
in class AbstractStoreQuery.AbstractExecutor
Copyright © 2006–2022 Apache Software Foundation. All rights reserved.