Interface StoreQuery.Executor

    • Method Detail

      • executeQuery

        ResultObjectProvider executeQuery​(StoreQuery q,
                                          Object[] params,
                                          StoreQuery.Range range)
        Return the result of executing this query with the given parameter values. If this query is a projection and this executor does not pack results itself, each element of the returned result object provider should be an object array containing the projection values.
        Parameters:
        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 grouping
        See Also:
        isPacking(org.apache.openjpa.kernel.StoreQuery)
      • executeDelete

        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.
      • executeUpdate

        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.
      • getDataStoreActions

        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.
      • validate

        void validate​(StoreQuery q)
        Validate components of query.
      • getRange

        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.
      • getAscending

        boolean[] getAscending​(StoreQuery q)
        Return the ordering direction for all ordering clauses, or empty array if none.
      • isPacking

        boolean isPacking​(StoreQuery q)
        Return true if this executor packs projections into the result class itself. Executors for query languages that allow projections without result clauses must return true and perform the result packing themselves.
      • getAlias

        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.
      • getProjectionAliases

        String[] getProjectionAliases​(StoreQuery q)
        Return the alias for each projection element, or empty array if not a projection.
      • getProjectionTypes

        Class<?>[] getProjectionTypes​(StoreQuery q)
        Return the expected types of the projections used by this query, or an empty array if not a projection.
      • getAccessPathMetaDatas

        ClassMetaData[] getAccessPathMetaDatas​(StoreQuery q)
        Return an array of all persistent classes used in this query, or empty array if unknown.
      • getOperation

        int getOperation​(StoreQuery q)
        Returns the operation this executor is meant to execute.
        See Also:
        QueryOperations
      • isAggregate

        boolean isAggregate​(StoreQuery q)
        Return true if the compiled query is an aggregate.
      • isDistinct

        boolean isDistinct​(StoreQuery q)
      • hasGrouping

        boolean hasGrouping​(StoreQuery q)
        Whether the compiled query has grouping.
      • toParameterArray

        Object[] toParameterArray​(StoreQuery q,
                                  Map<?,​?> userParams)
        Return an array from the given user parameter values. The array ordering is same as what this executor expects for its executeXXX() methods as its Object[] parameters. If the given userParams is null or empty return an empty array rather than null.
        Returns:
        array with parameter values ordered in the same way as this receiver's executeXXX() method expects.
        Since:
        2.0.0
      • getResultClass

        Class<?> getResultClass​(StoreQuery q)
        Returns the result class, if any.
      • getQueryExpressions

        QueryExpressions[] getQueryExpressions()
        Return the parsed query expressions for our candidate types. The expressions are available only after query has been parsed.
        Since:
        2.0.0