Package org.apache.openjpa.kernel
Interface QueryContext
-
- All Known Subinterfaces:
Query
- All Known Implementing Classes:
DelegatingQuery
,DistributedQueryImpl
,QueryImpl
public interface QueryContext
A query execution context.- Since:
- 0.4.0
- Author:
- Abe White
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description java.lang.Class<?>
classForName(java.lang.String name, java.lang.String[] imports)
Helper method to instantiate the class with the given name, taking into account the query's candidate package, automatic imports, and the given imports (if any).void
declareParameters(java.lang.String params)
Declared parameters, for query languages that use them.java.lang.Number
deleteInMemory(StoreQuery q, StoreQuery.Executor ex, java.lang.Object[] params)
Helper method to delete the objects found by executing a query on the given executor.ClassMetaData[]
getAccessPathMetaDatas()
Return the classes that affect this query.AggregateListener
getAggregateListener(java.lang.String tag)
Return the filter listener for the given tag, or null.java.util.Collection<AggregateListener>
getAggregateListeners()
The set of aggregate listeners.java.lang.String
getAlias()
If this query is not a projection but places candidate results into a result class under an alias, return that alias.java.util.Collection<?>
getCandidateCollection()
Return the candidate collection, ornull
if an extent was specified instead of a collection.java.lang.Class<?>
getCandidateType()
Return the class of the objects that this query will return, ornull
if this information is not available / not relevant.java.lang.Object
getCompilation()
Return the query's compilation state.long
getEndRange()
Return the 0-based exclusive end index for the returned results, orLong.MAX_VALUE
for no limit.FetchConfiguration
getFetchConfiguration()
Return the fetch configuration for this query.FilterListener
getFilterListener(java.lang.String tag)
Return the filter listener for the given tag, or null.java.util.Collection<FilterListener>
getFilterListeners()
The set of filter listeners.boolean
getIgnoreChanges()
Whether to ignore changes in the current transaction.java.lang.String
getLanguage()
The query language.int
getOperation()
Returns the operation that this query will be expected to perform.OrderedMap<java.lang.Object,java.lang.Class<?>>
getOrderedParameterTypes()
Return a map of parameter name to type for this query.java.lang.String
getParameterDeclaration()
The parameter declaration.LinkedMap
getParameterTypes()
Deprecated.java.lang.String[]
getProjectionAliases()
If this query is a projection, return the projection aliases.java.lang.Class<?>[]
getProjectionTypes()
If this query is a projection, return the projection types.Query
getQuery()
Return the query for this context.java.lang.String
getQueryString()
The query string.java.lang.String
getResultMappingName()
Name of a mapping from the result data to its object representation.java.lang.Class<?>
getResultMappingScope()
Scope of a mapping from the result data to its object representation.java.lang.Class<?>
getResultType()
Returns the result class that has been set throughsetResultType(java.lang.Class<?>)
, or null if none.long
getStartRange()
Return the 0-based start index for the returned results.StoreContext
getStoreContext()
The persistence context for the query.java.util.Map<FieldMetaData,Value>
getUpdates()
If this query is a bulk update, return a map of theFieldMetaData
s toConstant
s.boolean
hasGrouping()
Return true if the query uses grouping.boolean
hasSubclasses()
Whether query results will include subclasses of the candidate class.boolean
isAggregate()
Return true if the query is an aggregate.boolean
isDistinct()
Affirms if this query results are distinct instance(s).boolean
isReadOnly()
Whether the query has been marked read-only.boolean
isUnique()
The unique flag.void
lock()
Synchronize on the query's internal lock.void
setCandidateType(java.lang.Class<?> cls, boolean subs)
Set the candidate type.void
setRange(long start, long end)
Set the range of results to return.void
setReadOnly(boolean readOnly)
Whether the query has been marked read-only.void
setResultMapping(java.lang.Class<?> scope, java.lang.String name)
Name and scope of a mapping from the result data to its object representation.void
setResultType(java.lang.Class<?> cls)
Specify the type of object in which the result of evaluating this query.void
setUnique(boolean unique)
Specify that the query will return only 1 result, rather than a collection.void
unlock()
Unlock the query's internal lock.java.lang.Number
updateInMemory(StoreQuery q, StoreQuery.Executor ex, java.lang.Object[] params)
Helper method to update the objects found by executing a query on the given executor.
-
-
-
Method Detail
-
getQuery
Query getQuery()
Return the query for this context. Note that the query will be unavailable in remote contexts, and this method may throw an exception to that effect.
-
getStoreContext
StoreContext getStoreContext()
The persistence context for the query.
-
getFetchConfiguration
FetchConfiguration getFetchConfiguration()
Return the fetch configuration for this query.
-
getOperation
int getOperation()
Returns the operation that this query will be expected to perform.- Since:
- 0.4.0
- See Also:
QueryOperations
-
getLanguage
java.lang.String getLanguage()
The query language.
-
getQueryString
java.lang.String getQueryString()
The query string.
-
getCandidateCollection
java.util.Collection<?> getCandidateCollection()
Return the candidate collection, ornull
if an extent was specified instead of a collection.
-
getCandidateType
java.lang.Class<?> getCandidateType()
Return the class of the objects that this query will return, ornull
if this information is not available / not relevant.
-
hasSubclasses
boolean hasSubclasses()
Whether query results will include subclasses of the candidate class.
-
setCandidateType
void setCandidateType(java.lang.Class<?> cls, boolean subs)
Set the candidate type.
-
isReadOnly
boolean isReadOnly()
Whether the query has been marked read-only.
-
setReadOnly
void setReadOnly(boolean readOnly)
Whether the query has been marked read-only.
-
isUnique
boolean isUnique()
The unique flag.
-
setUnique
void setUnique(boolean unique)
Specify that the query will return only 1 result, rather than a collection. The execute method will return null if the query result size is 0.- Since:
- 0.3.0
-
isDistinct
boolean isDistinct()
Affirms if this query results are distinct instance(s).- Since:
- 2.0.0
-
getResultMappingScope
java.lang.Class<?> getResultMappingScope()
Scope of a mapping from the result data to its object representation.
-
getResultMappingName
java.lang.String getResultMappingName()
Name of a mapping from the result data to its object representation.
-
setResultMapping
void setResultMapping(java.lang.Class<?> scope, java.lang.String name)
Name and scope of a mapping from the result data to its object representation.
-
getResultType
java.lang.Class<?> getResultType()
Returns the result class that has been set throughsetResultType(java.lang.Class<?>)
, or null if none.
-
setResultType
void setResultType(java.lang.Class<?> cls)
Specify the type of object in which the result of evaluating this query.- Since:
- 0.3.0
-
getStartRange
long getStartRange()
Return the 0-based start index for the returned results.
-
getEndRange
long getEndRange()
Return the 0-based exclusive end index for the returned results, orLong.MAX_VALUE
for no limit.
-
setRange
void setRange(long start, long end)
Set the range of results to return.- Parameters:
start
- 0-based inclusive start indexend
- 0-based exclusive end index, orLong.MAX_VALUE
for no limit- Since:
- 0.3.2
-
getParameterDeclaration
java.lang.String getParameterDeclaration()
The parameter declaration.
-
declareParameters
void declareParameters(java.lang.String params)
Declared parameters, for query languages that use them.
-
getOrderedParameterTypes
OrderedMap<java.lang.Object,java.lang.Class<?>> getOrderedParameterTypes()
Return a map of parameter name to type for this query. The returned map will iterate in the order that the parameters were declared or, if they're implicit, used.
-
getParameterTypes
@Deprecated LinkedMap getParameterTypes()
Deprecated.Return a map of parameter name to type for this query. The returned map will iterate in the order that the parameters were declared or, if they're implicit, used.
-
getUpdates
java.util.Map<FieldMetaData,Value> getUpdates()
If this query is a bulk update, return a map of theFieldMetaData
s toConstant
s.
-
getIgnoreChanges
boolean getIgnoreChanges()
Whether to ignore changes in the current transaction.
-
getCompilation
java.lang.Object getCompilation()
Return the query's compilation state.
-
getAlias
java.lang.String getAlias()
If this query is not a projection but places candidate results into a result class under an alias, return that alias.
-
getProjectionAliases
java.lang.String[] getProjectionAliases()
If this query is a projection, return the projection aliases.
-
getProjectionTypes
java.lang.Class<?>[] getProjectionTypes()
If this query is a projection, return the projection types.
-
isAggregate
boolean isAggregate()
Return true if the query is an aggregate.
-
hasGrouping
boolean hasGrouping()
Return true if the query uses grouping.
-
getAccessPathMetaDatas
ClassMetaData[] getAccessPathMetaDatas()
Return the classes that affect this query.
-
getFilterListener
FilterListener getFilterListener(java.lang.String tag)
Return the filter listener for the given tag, or null.
-
getAggregateListener
AggregateListener getAggregateListener(java.lang.String tag)
Return the filter listener for the given tag, or null.
-
getFilterListeners
java.util.Collection<FilterListener> getFilterListeners()
The set of filter listeners.
-
getAggregateListeners
java.util.Collection<AggregateListener> getAggregateListeners()
The set of aggregate listeners.
-
deleteInMemory
java.lang.Number deleteInMemory(StoreQuery q, StoreQuery.Executor ex, java.lang.Object[] params)
Helper method to delete the objects found by executing a query on the given executor.
-
updateInMemory
java.lang.Number updateInMemory(StoreQuery q, StoreQuery.Executor ex, java.lang.Object[] params)
Helper method to update the objects found by executing a query on the given executor.
-
classForName
java.lang.Class<?> classForName(java.lang.String name, java.lang.String[] imports)
Helper method to instantiate the class with the given name, taking into account the query's candidate package, automatic imports, and the given imports (if any). Returns null if the type cannot be found.
-
lock
void lock()
Synchronize on the query's internal lock.
-
unlock
void unlock()
Unlock the query's internal lock.
-
-