|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public static interface StoreQuery.Executor
An executor provides a uniform interface to the mechanism for executing
either an in-memory or datastore query. In the common case, the
executeQuery(org.apache.openjpa.kernel.StoreQuery, java.lang.Object[], org.apache.openjpa.kernel.StoreQuery.Range)
method will be called before other methods,
though this is not guaranteed.
Method Summary | |
---|---|
Number |
executeDelete(StoreQuery q,
Object[] params)
Deleted the objects that result from the execution of the query, retuning the number of objects that were deleted. |
ResultObjectProvider |
executeQuery(StoreQuery q,
Object[] params,
StoreQuery.Range range)
Return the result of executing this query with the given parameter values. |
Number |
executeUpdate(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. |
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. |
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 |
getOperation(StoreQuery q)
Returns the operation this executor is meant to execute. |
Object |
getOrderingValue(StoreQuery q,
Object[] params,
Object resultObject,
int orderIndex)
Extract the value of the orderIndex th ordering
expression in Query#getOrderingClauses from the
given result object. |
org.apache.commons.collections.map.LinkedMap |
getParameterTypes(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. |
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 |
isPacking(StoreQuery q)
Return true if this executor packs projections into the result class itself. |
void |
validate(StoreQuery q)
Validate components of query. |
Method Detail |
---|
ResultObjectProvider executeQuery(StoreQuery q, Object[] params, StoreQuery.Range range)
lrs
- true if the query result should be treated as a
large result set, assuming the query is not an
aggregate and does not have groupingisPacking(org.apache.openjpa.kernel.StoreQuery)
Number executeDelete(StoreQuery q, Object[] params)
Number executeUpdate(StoreQuery q, Object[] params)
String[] getDataStoreActions(StoreQuery q, Object[] params, StoreQuery.Range range)
void validate(StoreQuery q)
void getRange(StoreQuery q, Object[] params, StoreQuery.Range range)
Object getOrderingValue(StoreQuery q, Object[] params, Object resultObject, int orderIndex)
orderIndex
th ordering
expression in Query#getOrderingClauses
from the
given result object. The result object will be an object from
the result object provider returned from 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.
StoreQuery.supportsAbstractExecutors()
boolean[] getAscending(StoreQuery q)
boolean isPacking(StoreQuery q)
String getAlias(StoreQuery q)
String[] getProjectionAliases(StoreQuery q)
Class[] getProjectionTypes(StoreQuery q)
ClassMetaData[] getAccessPathMetaDatas(StoreQuery q)
int getOperation(StoreQuery q)
QueryOperations
boolean isAggregate(StoreQuery q)
boolean hasGrouping(StoreQuery q)
org.apache.commons.collections.map.LinkedMap getParameterTypes(StoreQuery q)
Map.entrySet()
's Iterator
must return values in the
order in which they were declared or used.
Class getResultClass(StoreQuery q)
Map getUpdates(StoreQuery q)
FieldMetaData
to update
Constant
s, in cases where this query is for a bulk update.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |