Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.kernel
Class DelegatingQuery

    java.lang.Object
      org.apache.openjpa.kernel.DelegatingQuery

All Implemented Interfaces:
  Serializable, Query, QueryContext, QueryFlushModes, QueryOperations

    public class DelegatingQuery

extends Object
implements Query

Delegating query that can also perform exception translation for use in facades.

Since:
  0.4.0
Author:
  Abe White
See Also:
  Serialized Form

Field Summary

Fields inherited from interface org.apache.openjpa.kernel.QueryOperations
`OP_DELETE, OP_SELECT, OP_UPDATE`

Fields inherited from interface org.apache.openjpa.kernel.QueryFlushModes
`FLUSH_FALSE, FLUSH_TRUE, FLUSH_WITH_CONNECTION`

Constructor Summary
`DelegatingQuery(Query query)` Constructor; supply delegate.
`DelegatingQuery(Query query, RuntimeExceptionTranslator trans)` Constructor; supply delegate and exception translator.

Method Summary
`void` | `addAggregateListener(AggregateListener listener)` Register an aggregate listener for the query.
`void` | `addFilterListener(FilterListener listener)` Register a filter listener for the query.
`void` | `assertNotReadOnly()` Assert that the query is not read-only.
`void` | `assertNotSerialized()` Check that the query has not been serialized, which causes it to lose its association with its Broker.
`void` | `assertOpen()` Assert that the query's broker is still open.
`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` | `closeAll()` Close all open query results.
`void` | `closeResources()` Close query results that are consuming resources.
`void` | `compile()` Compile the query.
`void` | `declareParameters(String params)` Declared parameters, for query languages that use them.
`long` | `deleteAll()` Deletes all of the instances that are satisfied by the query.
`long` | `deleteAll(Map parameterMap)` Deletes all of the instances that are satisfied by the query.
`long` | `deleteAll(Object[] parameters)` Deletes all of the instances that are satisfied by the query.
`Number` | `deleteInMemory(StoreQuery q, StoreQuery.Executor ex, Object[] params)` Helper method to delete the objects found by executing a query on the given executor.
`boolean` | `equals(Object other)`
`Object` | `execute()` Execute.
`Object` | `execute(Map params)` Execute with parameter map.
`Object` | `execute(Object[] params)` Execute with parameter array.
`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.
`Broker` | `getBroker()` The broker that generated this query.
`Collection` | `getCandidateCollection()` Return the candidate collection, or `null` if an extent was specified instead of a collection.
`Extent` | `getCandidateExtent()` Return the candidate extent, or `null` if a collection was specified instead of an extent.
`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.
`String[]` | `getDataStoreActions(Map params)` Returns a description of the commands that will be sent to the datastore in order to execute this query.
`Query` | `getDelegate()` Return the direct delegate.
`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.
`Query` | `getInnermostDelegate()` Return the native delegate.
`String` | `getLanguage()` The query language.
`int` | `getOperation()` Returns the operation that this query will be expected to perform.
`OrderedMap<Object,Class<?>>` | `getOrderedParameterTypes()` Return a map of parameter name to type for this query.
`String` | `getParameterDeclaration()` The parameter declaration.
`org.apache.commons.collections.map.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 `QueryContext.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 `FieldMetaData`s to `Constant`s.
`boolean` | `hasGrouping()` Return true if the query uses grouping.
`int` | `hashCode()`
`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` | `removeAggregateListener(AggregateListener listener)` Remove an aggregate listener from the query.
`void` | `removeFilterListener(FilterListener listener)` Remove a filter listener from the query.
`void` | `setCandidateCollection(Collection coll)` Set a collection of candidates.
`void` | `setCandidateExtent(Extent extent)` Set the candidate extent.
`void` | `setCandidateType(Class cls, boolean subs)` Set the candidate type.
`void` | `setIgnoreChanges(boolean ignore)` Whether to ignore changes in the current transaction.
`boolean` | `setQuery(Object query)` The query string or template.
`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.
`protected RuntimeException` | `translate(RuntimeException re)` Translate the OpenJPA exception.
`void` | `unlock()` Unlock the query's internal lock.
`long` | `updateAll()` Performs an update of the instances that are satisfied by the query.
`long` | `updateAll(Map parameterMap)` Performs an update of the instances that are satisfied by the query.
`long` | `updateAll(Object[] parameters)` Performs an update of the instances that are satisfied by the query.
`Number` | `updateInMemory(StoreQuery q, StoreQuery.Executor ex, Object[] params)` Helper method to update the objects found by executing a query on the given executor.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DelegatingQuery

    public DelegatingQuery(Query query)

  Constructor; supply delegate.

### DelegatingQuery

    public DelegatingQuery(Query query,
                           RuntimeExceptionTranslator trans)

  Constructor; supply delegate and exception translator.

Method Detail

### getDelegate

    public Query getDelegate()

  Return the direct delegate.

### getInnermostDelegate

    public Query getInnermostDelegate()

  Return the native delegate.

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### equals

    public boolean equals(Object other)

  Overrides:
    `equals` in class `Object`

### translate

    protected RuntimeException translate(RuntimeException re)

  Translate the OpenJPA exception.

### getBroker

    public Broker getBroker()

  Description copied from interface: `Query`
  The broker that generated this query.

  Specified by:
    `getBroker` in interface `Query`

### getQuery

    public Query getQuery()

  Description copied from interface: `QueryContext`
  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.

  Specified by:
    `getQuery` in interface `QueryContext`

### getStoreContext

    public StoreContext getStoreContext()

  Description copied from interface: `QueryContext`
  The persistence context for the query.

  Specified by:
    `getStoreContext` in interface `QueryContext`

### getOperation

    public int getOperation()

  Description copied from interface: `QueryContext`
  Returns the operation that this query will be expected to perform.

  Specified by:
    `getOperation` in interface `QueryContext`
  See Also:
    `QueryOperations`

### getLanguage

    public String getLanguage()

  Description copied from interface: `QueryContext`
  The query language.

  Specified by:
    `getLanguage` in interface `QueryContext`

### getFetchConfiguration

    public FetchConfiguration getFetchConfiguration()

  Description copied from interface: `QueryContext`
  Return the fetch configuration for this query.

  Specified by:
    `getFetchConfiguration` in interface `QueryContext`

### getQueryString

    public String getQueryString()

  Description copied from interface: `QueryContext`
  The query string.

  Specified by:
    `getQueryString` in interface `QueryContext`

### getIgnoreChanges

    public boolean getIgnoreChanges()

  Description copied from interface: `QueryContext`
  Whether to ignore changes in the current transaction.

  Specified by:
    `getIgnoreChanges` in interface `QueryContext`

### getCompilation

    public Object getCompilation()

  Description copied from interface: `QueryContext`
  Return the query's compilation state.

  Specified by:
    `getCompilation` in interface `QueryContext`

### getAlias

    public String getAlias()

  Description copied from interface: `QueryContext`
  If this query is not a projection but places candidate results into a result class under an alias, return that alias.

  Specified by:
    `getAlias` in interface `QueryContext`

### getProjectionAliases

    public String[] getProjectionAliases()

  Description copied from interface: `QueryContext`
  If this query is a projection, return the projection aliases.

  Specified by:
    `getProjectionAliases` in interface `QueryContext`

### getProjectionTypes

    public Class[] getProjectionTypes()

  Description copied from interface: `QueryContext`
  If this query is a projection, return the projection types.

  Specified by:
    `getProjectionTypes` in interface `QueryContext`

### isAggregate

    public boolean isAggregate()

  Description copied from interface: `QueryContext`
  Return true if the query is an aggregate.

  Specified by:
    `isAggregate` in interface `QueryContext`

### hasGrouping

    public boolean hasGrouping()

  Description copied from interface: `QueryContext`
  Return true if the query uses grouping.

  Specified by:
    `hasGrouping` in interface `QueryContext`

### getAccessPathMetaDatas

    public ClassMetaData[] getAccessPathMetaDatas()

  Description copied from interface: `QueryContext`
  Return the classes that affect this query.

  Specified by:
    `getAccessPathMetaDatas` in interface `QueryContext`

### getFilterListener

    public FilterListener getFilterListener(String tag)

  Description copied from interface: `QueryContext`
  Return the filter listener for the given tag, or null.

  Specified by:
    `getFilterListener` in interface `QueryContext`

### getAggregateListener

    public AggregateListener getAggregateListener(String tag)

  Description copied from interface: `QueryContext`
  Return the filter listener for the given tag, or null.

  Specified by:
    `getAggregateListener` in interface `QueryContext`

### getFilterListeners

    public Collection getFilterListeners()

  Description copied from interface: `QueryContext`
  The set of filter listeners.

  Specified by:
    `getFilterListeners` in interface `QueryContext`

### getAggregateListeners

    public Collection getAggregateListeners()

  Description copied from interface: `QueryContext`
  The set of aggregate listeners.

  Specified by:
    `getAggregateListeners` in interface `QueryContext`

### getCandidateCollection

    public Collection getCandidateCollection()

  Description copied from interface: `QueryContext`
  Return the candidate collection, or `null` if an extent was specified instead of a collection.

  Specified by:
    `getCandidateCollection` in interface `QueryContext`

### getCandidateType

    public Class getCandidateType()

  Description copied from interface: `QueryContext`
  Return the class of the objects that this query will return, or `null` if this information is not available / not relevant.

  Specified by:
    `getCandidateType` in interface `QueryContext`

### hasSubclasses

    public boolean hasSubclasses()

  Description copied from interface: `QueryContext`
  Whether query results will include subclasses of the candidate class.

  Specified by:
    `hasSubclasses` in interface `QueryContext`

### setCandidateType

    public void setCandidateType(Class cls,
                                 boolean subs)

  Description copied from interface: `QueryContext`
  Set the candidate type.

  Specified by:
    `setCandidateType` in interface `QueryContext`

### isReadOnly

    public boolean isReadOnly()

  Description copied from interface: `QueryContext`
  Whether the query has been marked read-only.

  Specified by:
    `isReadOnly` in interface `QueryContext`

### setReadOnly

    public void setReadOnly(boolean readOnly)

  Description copied from interface: `QueryContext`
  Whether the query has been marked read-only.

  Specified by:
    `setReadOnly` in interface `QueryContext`

### getResultMappingScope

    public Class getResultMappingScope()

  Description copied from interface: `QueryContext`
  Scope of a mapping from the result data to its object representation.

  Specified by:
    `getResultMappingScope` in interface `QueryContext`

### getResultMappingName

    public String getResultMappingName()

  Description copied from interface: `QueryContext`
  Name of a mapping from the result data to its object representation.

  Specified by:
    `getResultMappingName` in interface `QueryContext`

### setResultMapping

    public void setResultMapping(Class scope,
                                 String name)

  Description copied from interface: `QueryContext`
  Name and scope of a mapping from the result data to its object representation.

  Specified by:
    `setResultMapping` in interface `QueryContext`

### isUnique

    public boolean isUnique()

  Description copied from interface: `QueryContext`
  The unique flag.

  Specified by:
    `isUnique` in interface `QueryContext`

### setUnique

    public void setUnique(boolean unique)

  Description copied from interface: `QueryContext`
  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.

  Specified by:
    `setUnique` in interface `QueryContext`

### isDistinct

    public boolean isDistinct()

  Description copied from interface: `QueryContext`
  Affirms if this query results are distinct instance(s).

  Specified by:
    `isDistinct` in interface `QueryContext`

### getResultType

    public Class getResultType()

  Description copied from interface: `QueryContext`
  Returns the result class that has been set through `QueryContext.setResultType(java.lang.Class)`, or null if none.

  Specified by:
    `getResultType` in interface `QueryContext`

### setResultType

    public void setResultType(Class cls)

  Description copied from interface: `QueryContext`
  Specify the type of object in which the result of evaluating this query.

  Specified by:
    `setResultType` in interface `QueryContext`

### getStartRange

    public long getStartRange()

  Description copied from interface: `QueryContext`
  Return the 0-based start index for the returned results.

  Specified by:
    `getStartRange` in interface `QueryContext`

### getEndRange

    public long getEndRange()

  Description copied from interface: `QueryContext`
  Return the 0-based exclusive end index for the returned results, or `Long.MAX_VALUE` for no limit.

  Specified by:
    `getEndRange` in interface `QueryContext`

### setRange

    public void setRange(long start,
                         long end)

  Description copied from interface: `QueryContext`
  Set the range of results to return.

  Specified by:
    `setRange` in interface `QueryContext`
  Parameters:
    `start` - 0-based inclusive start index
    `end` - 0-based exclusive end index, or `Long.MAX_VALUE` for no limit

### getParameterDeclaration

    public String getParameterDeclaration()

  Description copied from interface: `QueryContext`
  The parameter declaration.

  Specified by:
    `getParameterDeclaration` in interface `QueryContext`

### getOrderedParameterTypes

    public OrderedMap<Object,Class<?>> getOrderedParameterTypes()

  Description copied from interface: `QueryContext`
  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.

  Specified by:
    `getOrderedParameterTypes` in interface `QueryContext`

### getParameterTypes

    public org.apache.commons.collections.map.LinkedMap getParameterTypes()

  Description copied from interface: `QueryContext`
  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.

  Specified by:
    `getParameterTypes` in interface `QueryContext`

### getUpdates

    public Map getUpdates()

  Description copied from interface: `QueryContext`
  If this query is a bulk update, return a map of the `FieldMetaData`s to `Constant`s.

  Specified by:
    `getUpdates` in interface `QueryContext`

### declareParameters

    public void declareParameters(String params)

  Description copied from interface: `QueryContext`
  Declared parameters, for query languages that use them.

  Specified by:
    `declareParameters` in interface `QueryContext`

### deleteInMemory

    public Number deleteInMemory(StoreQuery q,
                                 StoreQuery.Executor ex,
                                 Object[] params)

  Description copied from interface: `QueryContext`
  Helper method to delete the objects found by executing a query on the given executor.

  Specified by:
    `deleteInMemory` in interface `QueryContext`

### updateInMemory

    public Number updateInMemory(StoreQuery q,
                                 StoreQuery.Executor ex,
                                 Object[] params)

  Description copied from interface: `QueryContext`
  Helper method to update the objects found by executing a query on the given executor.

  Specified by:
    `updateInMemory` in interface `QueryContext`

### classForName

    public Class classForName(String name,
                              String[] imports)

  Description copied from interface: `QueryContext`
  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.

  Specified by:
    `classForName` in interface `QueryContext`

### lock

    public void lock()

  Description copied from interface: `QueryContext`
  Synchronize on the query's internal lock.

  Specified by:
    `lock` in interface `QueryContext`

### unlock

    public void unlock()

  Description copied from interface: `QueryContext`
  Unlock the query's internal lock.

  Specified by:
    `unlock` in interface `QueryContext`

### addFilterListener

    public void addFilterListener(FilterListener listener)

  Description copied from interface: `Query`
  Register a filter listener for the query.

  Specified by:
    `addFilterListener` in interface `Query`

### removeFilterListener

    public void removeFilterListener(FilterListener listener)

  Description copied from interface: `Query`
  Remove a filter listener from the query.

  Specified by:
    `removeFilterListener` in interface `Query`

### addAggregateListener

    public void addAggregateListener(AggregateListener listener)

  Description copied from interface: `Query`
  Register an aggregate listener for the query.

  Specified by:
    `addAggregateListener` in interface `Query`

### removeAggregateListener

    public void removeAggregateListener(AggregateListener listener)

  Description copied from interface: `Query`
  Remove an aggregate listener from the query.

  Specified by:
    `removeAggregateListener` in interface `Query`

### getCandidateExtent

    public Extent getCandidateExtent()

  Description copied from interface: `Query`
  Return the candidate extent, or `null` if a collection was specified instead of an extent.

  Specified by:
    `getCandidateExtent` in interface `Query`

### setCandidateExtent

    public void setCandidateExtent(Extent extent)

  Description copied from interface: `Query`
  Set the candidate extent.

  Specified by:
    `setCandidateExtent` in interface `Query`

### setCandidateCollection

    public void setCandidateCollection(Collection coll)

  Description copied from interface: `Query`
  Set a collection of candidates.

  Specified by:
    `setCandidateCollection` in interface `Query`

### compile

    public void compile()

  Description copied from interface: `Query`
  Compile the query.

  Specified by:
    `compile` in interface `Query`

### execute

    public Object execute()

  Description copied from interface: `Query`
  Execute.

  Specified by:
    `execute` in interface `Query`

### execute

    public Object execute(Map params)

  Description copied from interface: `Query`
  Execute with parameter map.

  Specified by:
    `execute` in interface `Query`

### execute

    public Object execute(Object[] params)

  Description copied from interface: `Query`
  Execute with parameter array.

  Specified by:
    `execute` in interface `Query`

### deleteAll

    public long deleteAll()

  Description copied from interface: `Query`
  Deletes all of the instances that are satisfied by the query.

  Specified by:
    `deleteAll` in interface `Query`
  Returns:
    the number of instances that were deleted

### deleteAll

    public long deleteAll(Object[] parameters)

  Description copied from interface: `Query`
  Deletes all of the instances that are satisfied by the query.

  Specified by:
    `deleteAll` in interface `Query`
  Parameters:
    `parameters` - the positional parameters for the query
  Returns:
    the number of instances that were deleted

### deleteAll

    public long deleteAll(Map parameterMap)

  Description copied from interface: `Query`
  Deletes all of the instances that are satisfied by the query.

  Specified by:
    `deleteAll` in interface `Query`
  Parameters:
    `parameterMap` - the named parameter map
  Returns:
    the number of instances that were deleted

### updateAll

    public long updateAll()

  Description copied from interface: `Query`
  Performs an update of the instances that are satisfied by the query.

  Specified by:
    `updateAll` in interface `Query`
  Returns:
    the number of instances that were update

### updateAll

    public long updateAll(Object[] parameters)

  Description copied from interface: `Query`
  Performs an update of the instances that are satisfied by the query.

  Specified by:
    `updateAll` in interface `Query`
  Parameters:
    `parameters` - the positional parameter array
  Returns:
    the number of instances that were update

### updateAll

    public long updateAll(Map parameterMap)

  Description copied from interface: `Query`
  Performs an update of the instances that are satisfied by the query.

  Specified by:
    `updateAll` in interface `Query`
  Parameters:
    `parameterMap` - the named parameter map
  Returns:
    the number of instances that were update

### closeAll

    public void closeAll()

  Description copied from interface: `Query`
  Close all open query results.

  Specified by:
    `closeAll` in interface `Query`

### closeResources

    public void closeResources()

  Description copied from interface: `Query`
  Close query results that are consuming resources. Allow results that are not consuming resources to remain open so that they continue to function normally.

  Specified by:
    `closeResources` in interface `Query`

### getDataStoreActions

    public String[] getDataStoreActions(Map params)

  Description copied from interface: `Query`
  Returns a description of the commands that will be sent to the datastore in order to execute this query. This will typically be in the native query language of the database (e.g., SQL).

  Specified by:
    `getDataStoreActions` in interface `Query`
  Parameters:
    `params` - the named parameter map for the query invocation

### setQuery

    public boolean setQuery(Object query)

  Description copied from interface: `Query`
  The query string or template.

  Specified by:
    `setQuery` in interface `Query`

### setIgnoreChanges

    public void setIgnoreChanges(boolean ignore)

  Description copied from interface: `Query`
  Whether to ignore changes in the current transaction.

  Specified by:
    `setIgnoreChanges` in interface `Query`

### assertOpen

    public void assertOpen()

  Description copied from interface: `Query`
  Assert that the query's broker is still open.

  Specified by:
    `assertOpen` in interface `Query`

### assertNotReadOnly

    public void assertNotReadOnly()

  Description copied from interface: `Query`
  Assert that the query is not read-only.

  Specified by:
    `assertNotReadOnly` in interface `Query`

### assertNotSerialized

    public void assertNotSerialized()

  Description copied from interface: `Query`
  Check that the query has not been serialized, which causes it to lose its association with its Broker.

  Specified by:
    `assertNotSerialized` in interface `Query`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.