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

      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, or null if an extent was specified instead of a collection.
      java.lang.Class<?> getCandidateType()
      Return the class of the objects that this query will return, or null 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, or Long.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.
      org.apache.openjpa.lib.util.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.
      org.apache.openjpa.lib.util.collections.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 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.
      java.util.Map<FieldMetaData,​Value> 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 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, or null 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, 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​(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.
      • 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, 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

        java.lang.String getParameterDeclaration()
        The parameter declaration.
      • declareParameters

        void declareParameters​(java.lang.String params)
        Declared parameters, for query languages that use them.
      • getOrderedParameterTypes

        org.apache.openjpa.lib.util.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
        org.apache.openjpa.lib.util.collections.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.
      • 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.