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
Abstract
StoreQuery.Executor
that implements most methods as no-ops.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionexecuteDelete
(StoreQuery q, Object[] params) Deleted the objects that result from the execution of the query, retuning the number of objects that were deleted.executeUpdate
(StoreQuery q, Object[] params) Updates the objects that result from the execution of the query, retuning the number of objects that were updated.Return an array of all persistent classes used in this query, or empty array if unknown.If this is not a projection but the candidate results are placed into a result class with an alias, return that alias.boolean[]
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.int
Returns the operation this executor is meant to execute.OrderedMap<Object,
Class<?>> Return a map of parameter names to types.getOrderingValue
(StoreQuery q, Object[] params, Object resultObject, int orderIndex) Extract the value of theorderIndex
th ordering expression inQuery#getOrderingClauses
from the given result object.Return a map of parameter names to types.String[]
Return the alias for each projection element, or empty array if not a projection.Class<?>[]
Return the expected types of the projections used by this query, or an empty array if not a projection.Return the parsed query expressions for our candidate types.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<?>
Returns the result class, if any.ResultShape<?>
Return a map ofFieldMetaData
to updateConstant
s, in cases where this query is for a bulk update.boolean
Whether the compiled query has grouping.boolean
Return true if the compiled query is an aggregate.boolean
boolean
Return true if this executor packs projections into the result class itself.void
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
-
Constructor Details
-
AbstractExecutor
public AbstractExecutor()
-
-
Method Details
-
executeDelete
Description copied from interface:StoreQuery.Executor
Deleted the objects that result from the execution of the query, retuning the number of objects that were deleted.- Specified by:
executeDelete
in interfaceStoreQuery.Executor
-
executeUpdate
Description copied from interface:StoreQuery.Executor
Updates the objects that result from the execution of the query, retuning the number of objects that were updated.- Specified by:
executeUpdate
in interfaceStoreQuery.Executor
-
getDataStoreActions
Description copied from interface:StoreQuery.Executor
Return a description of the commands that will be sent to the datastore in order to execute the query.- Specified by:
getDataStoreActions
in interfaceStoreQuery.Executor
-
validate
Description copied from interface:StoreQuery.Executor
Validate components of query.- Specified by:
validate
in interfaceStoreQuery.Executor
-
getQueryExpressions
Description copied from interface:StoreQuery.Executor
Return the parsed query expressions for our candidate types. The expressions are available only after query has been parsed.- Specified by:
getQueryExpressions
in interfaceStoreQuery.Executor
-
getResultShape
- Specified by:
getResultShape
in interfaceStoreQuery.Executor
-
getRange
Description copied from interface:StoreQuery.Executor
Mutate the given range to set any range information stored in the query string and/or parameters.- Specified by:
getRange
in interfaceStoreQuery.Executor
-
getOrderingValue
Description copied from interface:StoreQuery.Executor
Extract the value of theorderIndex
th ordering expression inQuery#getOrderingClauses
from 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:
getOrderingValue
in interfaceStoreQuery.Executor
- See Also:
-
getAscending
Description copied from interface:StoreQuery.Executor
Return the ordering direction for all ordering clauses, or empty array if none.- Specified by:
getAscending
in interfaceStoreQuery.Executor
-
isPacking
Description copied from interface:StoreQuery.Executor
Return 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:
isPacking
in interfaceStoreQuery.Executor
-
getAlias
Description copied from interface:StoreQuery.Executor
If this is not a projection but the candidate results are placed into a result class with an alias, return that alias.- Specified by:
getAlias
in interfaceStoreQuery.Executor
-
getProjectionAliases
Description copied from interface:StoreQuery.Executor
Return the alias for each projection element, or empty array if not a projection.- Specified by:
getProjectionAliases
in interfaceStoreQuery.Executor
-
getProjectionTypes
Description copied from interface:StoreQuery.Executor
Return the expected types of the projections used by this query, or an empty array if not a projection.- Specified by:
getProjectionTypes
in interfaceStoreQuery.Executor
-
getAccessPathMetaDatas
Description copied from interface:StoreQuery.Executor
Return an array of all persistent classes used in this query, or empty array if unknown.- Specified by:
getAccessPathMetaDatas
in interfaceStoreQuery.Executor
-
getOperation
Description copied from interface:StoreQuery.Executor
Returns the operation this executor is meant to execute.- Specified by:
getOperation
in interfaceStoreQuery.Executor
- See Also:
-
isAggregate
Description copied from interface:StoreQuery.Executor
Return true if the compiled query is an aggregate.- Specified by:
isAggregate
in interfaceStoreQuery.Executor
-
isDistinct
- Specified by:
isDistinct
in interfaceStoreQuery.Executor
-
hasGrouping
Description copied from interface:StoreQuery.Executor
Whether the compiled query has grouping.- Specified by:
hasGrouping
in interfaceStoreQuery.Executor
-
getOrderedParameterTypes
Description copied from interface:StoreQuery.Executor
Return a map of parameter names to types. The returnedMap.entrySet()
'sIterator
must return values in the order in which they were declared or used.- Specified by:
getOrderedParameterTypes
in interfaceStoreQuery.Executor
-
getParameterTypes
Description copied from interface:StoreQuery.Executor
Return a map of parameter names to types. The returnedMap.entrySet()
'sIterator
must return values in the order in which they were declared or used.
Warning: Deprecated. Use StoreQuery.Executor.getOrderedParameterTypes(StoreQuery) instead.- Specified by:
getParameterTypes
in interfaceStoreQuery.Executor
-
getResultClass
Description copied from interface:StoreQuery.Executor
Returns the result class, if any.- Specified by:
getResultClass
in interfaceStoreQuery.Executor
-
getUpdates
Description copied from interface:StoreQuery.Executor
Return a map ofFieldMetaData
to updateConstant
s, in cases where this query is for a bulk update.- Specified by:
getUpdates
in interfaceStoreQuery.Executor
-