Package org.apache.openjpa.kernel
Class AbstractStoreQuery.AbstractExecutor
- java.lang.Object
 - 
- org.apache.openjpa.kernel.AbstractStoreQuery.AbstractExecutor
 
 
- 
- All Implemented Interfaces:
 StoreQuery.Executor
- Direct Known Subclasses:
 ExpressionStoreQuery.AbstractExpressionExecutor,SQLStoreQuery.SQLExecutor,StoredProcedureQuery.StoredProcedureQueryExecutor
- Enclosing class:
 - AbstractStoreQuery
 
public abstract static class AbstractStoreQuery.AbstractExecutor extends Object implements StoreQuery.Executor
AbstractStoreQuery.Executorthat implements most methods as no-ops. 
- 
- 
Constructor Summary
Constructors Constructor Description AbstractExecutor() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NumberexecuteDelete(StoreQuery q, Object[] params)Deleted the objects that result from the execution of the query, retuning the number of objects that were deleted.NumberexecuteUpdate(StoreQuery q, Object[] params)Updates the objects that result from the execution of the query, retuning the number of objects that were updated.ClassMetaData[]getAccessPathMetaDatas(StoreQuery q)Return an array of all persistent classes used in this query, or empty array if unknown.StringgetAlias(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.String[]getDataStoreActions(StoreQuery q, Object[] params, StoreQuery.Range range)Return a description of the commands that will be sent to the datastore in order to execute the query.intgetOperation(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.ObjectgetOrderingValue(StoreQuery q, Object[] params, Object resultObject, int orderIndex)Extract the value of theorderIndexth ordering expression inQuery#getOrderingClausesfrom the given result object.LinkedMapgetParameterTypes(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.QueryExpressions[]getQueryExpressions()Return the parsed query expressions for our candidate types.voidgetRange(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<FieldMetaData,Value>getUpdates(StoreQuery q)Return a map ofFieldMetaDatato updateConstants, in cases where this query is for a bulk update.booleanhasGrouping(StoreQuery q)Whether the compiled query has grouping.booleanisAggregate(StoreQuery q)Return true if the compiled query is an aggregate.booleanisDistinct(StoreQuery q)booleanisPacking(StoreQuery q)Return true if this executor packs projections into the result class itself.voidvalidate(StoreQuery q)Validate components of query.- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface org.apache.openjpa.kernel.StoreQuery.Executor
executeQuery, toParameterArray 
 - 
 
 - 
 
- 
- 
Method Detail
- 
executeDelete
public Number executeDelete(StoreQuery q, Object[] params)
Description copied from interface:StoreQuery.ExecutorDeleted the objects that result from the execution of the query, retuning the number of objects that were deleted.- Specified by:
 executeDeletein interfaceStoreQuery.Executor
 
- 
executeUpdate
public Number executeUpdate(StoreQuery q, Object[] params)
Description copied from interface:StoreQuery.ExecutorUpdates the objects that result from the execution of the query, retuning the number of objects that were updated.- Specified by:
 executeUpdatein interfaceStoreQuery.Executor
 
- 
getDataStoreActions
public String[] getDataStoreActions(StoreQuery q, Object[] params, StoreQuery.Range range)
Description copied from interface:StoreQuery.ExecutorReturn a description of the commands that will be sent to the datastore in order to execute the query.- Specified by:
 getDataStoreActionsin interfaceStoreQuery.Executor
 
- 
validate
public void validate(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorValidate components of query.- Specified by:
 validatein interfaceStoreQuery.Executor
 
- 
getQueryExpressions
public QueryExpressions[] getQueryExpressions()
Description copied from interface:StoreQuery.ExecutorReturn the parsed query expressions for our candidate types. The expressions are available only after query has been parsed.- Specified by:
 getQueryExpressionsin interfaceStoreQuery.Executor
 
- 
getResultShape
public ResultShape<?> getResultShape(StoreQuery q)
- Specified by:
 getResultShapein interfaceStoreQuery.Executor
 
- 
getRange
public void getRange(StoreQuery q, Object[] params, StoreQuery.Range range)
Description copied from interface:StoreQuery.ExecutorMutate the given range to set any range information stored in the query string and/or parameters.- Specified by:
 getRangein interfaceStoreQuery.Executor
 
- 
getOrderingValue
public Object getOrderingValue(StoreQuery q, Object[] params, Object resultObject, int orderIndex)
Description copied from interface:StoreQuery.ExecutorExtract the value of theorderIndexth ordering expression inQuery#getOrderingClausesfrom the given result object. The result object will be an object from the result object provider returned fromStoreQuery.Executor.executeQuery(org.apache.openjpa.kernel.StoreQuery, java.lang.Object[], org.apache.openjpa.kernel.StoreQuery.Range). This method is used when several result lists have to be merged in memory. If this exeuctor's parent query supports executors on abstract or interface classes, this method will not be used.- Specified by:
 getOrderingValuein interfaceStoreQuery.Executor- See Also:
 StoreQuery.supportsAbstractExecutors()
 
- 
getAscending
public boolean[] getAscending(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturn the ordering direction for all ordering clauses, or empty array if none.- Specified by:
 getAscendingin interfaceStoreQuery.Executor
 
- 
isPacking
public boolean isPacking(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturn true if this executor packs projections into the result class itself. Executors for query languages that allow projections without result clauses must return true and perform the result packing themselves.- Specified by:
 isPackingin interfaceStoreQuery.Executor
 
- 
getAlias
public String getAlias(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorIf this is not a projection but the candidate results are placed into a result class with an alias, return that alias.- Specified by:
 getAliasin interfaceStoreQuery.Executor
 
- 
getProjectionAliases
public String[] getProjectionAliases(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturn the alias for each projection element, or empty array if not a projection.- Specified by:
 getProjectionAliasesin interfaceStoreQuery.Executor
 
- 
getProjectionTypes
public Class<?>[] getProjectionTypes(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturn the expected types of the projections used by this query, or an empty array if not a projection.- Specified by:
 getProjectionTypesin interfaceStoreQuery.Executor
 
- 
getAccessPathMetaDatas
public ClassMetaData[] getAccessPathMetaDatas(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturn an array of all persistent classes used in this query, or empty array if unknown.- Specified by:
 getAccessPathMetaDatasin interfaceStoreQuery.Executor
 
- 
getOperation
public int getOperation(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturns the operation this executor is meant to execute.- Specified by:
 getOperationin interfaceStoreQuery.Executor- See Also:
 QueryOperations
 
- 
isAggregate
public boolean isAggregate(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturn true if the compiled query is an aggregate.- Specified by:
 isAggregatein interfaceStoreQuery.Executor
 
- 
isDistinct
public boolean isDistinct(StoreQuery q)
- Specified by:
 isDistinctin interfaceStoreQuery.Executor
 
- 
hasGrouping
public boolean hasGrouping(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorWhether the compiled query has grouping.- Specified by:
 hasGroupingin interfaceStoreQuery.Executor
 
- 
getOrderedParameterTypes
public OrderedMap<Object,Class<?>> getOrderedParameterTypes(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturn a map of parameter names to types. The returnedMap.entrySet()'sIteratormust return values in the order in which they were declared or used.- Specified by:
 getOrderedParameterTypesin interfaceStoreQuery.Executor
 
- 
getParameterTypes
public LinkedMap getParameterTypes(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturn a map of parameter names to types. The returnedMap.entrySet()'sIteratormust return values in the order in which they were declared or used.
Warning: Deprecated. Use StoreQuery.Executor.getOrderedParameterTypes(StoreQuery) instead.- Specified by:
 getParameterTypesin interfaceStoreQuery.Executor
 
- 
getResultClass
public Class<?> getResultClass(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturns the result class, if any.- Specified by:
 getResultClassin interfaceStoreQuery.Executor
 
- 
getUpdates
public Map<FieldMetaData,Value> getUpdates(StoreQuery q)
Description copied from interface:StoreQuery.ExecutorReturn a map ofFieldMetaDatato updateConstants, in cases where this query is for a bulk update.- Specified by:
 getUpdatesin interfaceStoreQuery.Executor
 
 - 
 
 -