org.apache.openjpa.kernel
Interface QueryContext

All Known Subinterfaces:
Query
All Known Implementing Classes:
DelegatingQuery, QueryImpl

public interface QueryContext

A query execution context.

Since:
0.4.0
Author:
Abe White

Method Summary
 Class classForName(String name, 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(String params)
          Declared parameters, for query languages that use them.
 Number deleteInMemory(StoreQuery.Executor ex, 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(String tag)
          Return the filter listener for the given tag, or null.
 Collection getAggregateListeners()
          The set of aggregate listeners.
 String getAlias()
          If this query is not a projection but places candidate results into a result class under an alias, return that alias.
 Collection getCandidateCollection()
          Return the candidate collection, or null if an extent was specified instead of a collection.
 Class getCandidateType()
          Return the class of the objects that this query will return, or null if this information is not available / not relevant.
 Object getCompilation()
          Return the query's compilation state.
 long getEndRange()
          Return the 0-based exclusive end index for the returned results, or Long.MAX_VALUE for no limit.
 FetchConfiguration getFetchConfiguration()
          Return the fetch configuration for this query.
 FilterListener getFilterListener(String tag)
          Return the filter listener for the given tag, or null.
 Collection getFilterListeners()
          The set of filter listeners.
 boolean getIgnoreChanges()
          Whether to ignore changes in the current transaction.
 String getLanguage()
          The query language.
 int getOperation()
          Returns the operation that this query will be expected to perform.
 String getParameterDeclaration()
          The parameter declaration.
 LinkedMap getParameterTypes()
          Return a map of parameter name to type for this query.
 String[] getProjectionAliases()
          If this query is a projection, return the projection aliases.
 Class[] getProjectionTypes()
          If this query is a projection, return the projection types.
 Query getQuery()
          Return the query for this context.
 String getQueryString()
          The query string.
 String getResultMappingName()
          Name of a mapping from the result data to its object representation.
 Class getResultMappingScope()
          Scope of a mapping from the result data to its object representation.
 Class getResultType()
          Returns the result class that has been set through setResultType(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.
 Map getUpdates()
          If this query is a bulk update, return a map of the FieldMetaDatas to Constants.
 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 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(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(Class scope, String name)
          Name and scope of a mapping from the result data to its object representation.
 void setResultType(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.
 Number updateInMemory(StoreQuery.Executor ex, 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

String getLanguage()
The query language.


getQueryString

String getQueryString()
The query string.


getCandidateCollection

Collection getCandidateCollection()
Return the candidate collection, or null if an extent was specified instead of a collection.


getCandidateType

Class getCandidateType()
Return the class of the objects that this query will return, or null if this information is not available / not relevant.


hasSubclasses

boolean hasSubclasses()
Whether query results will include subclasses of the candidate class.


setCandidateType

void setCandidateType(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

getResultMappingScope

Class getResultMappingScope()
Scope of a mapping from the result data to its object representation.


getResultMappingName

String getResultMappingName()
Name of a mapping from the result data to its object representation.


setResultMapping

void setResultMapping(Class scope,
                      String name)
Name and scope of a mapping from the result data to its object representation.


getResultType

Class getResultType()
Returns the result class that has been set through setResultType(java.lang.Class), or null if none.


setResultType

void setResultType(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, or Long.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 index
end - 0-based exclusive end index, or Long.MAX_VALUE for no limit
Since:
0.3.2

getParameterDeclaration

String getParameterDeclaration()
The parameter declaration.


declareParameters

void declareParameters(String params)
Declared parameters, for query languages that use them.


getParameterTypes

LinkedMap getParameterTypes()
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

Map getUpdates()
If this query is a bulk update, return a map of the FieldMetaDatas to Constants.


getIgnoreChanges

boolean getIgnoreChanges()
Whether to ignore changes in the current transaction.


getCompilation

Object getCompilation()
Return the query's compilation state.


getAlias

String getAlias()
If this query is not a projection but places candidate results into a result class under an alias, return that alias.


getProjectionAliases

String[] getProjectionAliases()
If this query is a projection, return the projection aliases.


getProjectionTypes

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(String tag)
Return the filter listener for the given tag, or null.


getAggregateListener

AggregateListener getAggregateListener(String tag)
Return the filter listener for the given tag, or null.


getFilterListeners

Collection getFilterListeners()
The set of filter listeners.


getAggregateListeners

Collection getAggregateListeners()
The set of aggregate listeners.


deleteInMemory

Number deleteInMemory(StoreQuery.Executor ex,
                      Object[] params)
Helper method to delete the objects found by executing a query on the given executor.


updateInMemory

Number updateInMemory(StoreQuery.Executor ex,
                      Object[] params)
Helper method to update the objects found by executing a query on the given executor.


classForName

Class classForName(String name,
                   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.



Copyright © 2006 Apache Software Foundation. All Rights Reserved.