Class PreparedQueryImpl

java.lang.Object
org.apache.openjpa.jdbc.kernel.PreparedQueryImpl
All Implemented Interfaces:
PreparedQuery

public class PreparedQueryImpl extends Object implements PreparedQuery
Implements PreparedQuery for SQL queries. PreparedQuery holds the post-compilation and post-execution state of a kernel Query. The post-execution internal state of a query is appended as a user object to the user-visible result to maintain the API contract.
Author:
Pinaki Poddar
  • Constructor Details

    • PreparedQueryImpl

      public PreparedQueryImpl(String id, Query compiled)
      Construct.
      Parameters:
      id - an identifier for this query to be used as cache key
      compiled - a compiled query
    • PreparedQueryImpl

      public PreparedQueryImpl(String id, String sql, Query compiled)
      Construct.
      Parameters:
      id - an identifier for this query to be used as cache key
      corresponding - data store language query string
      compiled - a compiled query
  • Method Details

    • getIdentifier

      public String getIdentifier()
      Description copied from interface: PreparedQuery
      Get the immutable identifier of this receiver used for * cache.
      Specified by:
      getIdentifier in interface PreparedQuery
    • getLanguage

      public String getLanguage()
      Description copied from interface: PreparedQuery
      Gets the language in which this query is expressed.
      Specified by:
      getLanguage in interface PreparedQuery
    • getOriginalQuery

      public String getOriginalQuery()
      Get the original query string which is same as the identifier of this receiver.
      Specified by:
      getOriginalQuery in interface PreparedQuery
    • getTargetQuery

      public String getTargetQuery()
      Description copied from interface: PreparedQuery
      Get the target database query.
      Specified by:
      getTargetQuery in interface PreparedQuery
    • isInitialized

      public boolean isInitialized()
      Description copied from interface: PreparedQuery
      Affirms if this receiver has been initialized.
      Specified by:
      isInitialized in interface PreparedQuery
    • getQueryExpressions

      public QueryExpressions[] getQueryExpressions()
    • getProjectionTypes

      public Class[] getProjectionTypes()
    • setInto

      public void setInto(Query q)
      Pours the post-compilation state held by this receiver to the given query.
      Specified by:
      setInto in interface PreparedQuery
      Parameters:
      q - A Query which has been substituted by this receiver and hence does not have its post-compilation state.
    • initialize

      public PreparedQueryCache.Exclusion initialize(Object result)
      Initialize this receiver with post-execution result. The input argument is processed only if it is a ResultList with an attached SelectResultObjectProvider as its user object.
      Specified by:
      initialize in interface PreparedQuery
      Parameters:
      result - an opaque instance supposed to carry post-execution data such as target database query, parameters of the query etc.
      Returns:
      an exclusion if can not be initialized for some reason. null if initialization is successful.
    • reparametrize

      public Map<Integer,Object> reparametrize(Map user, Broker broker)
      Merge the given user parameters with its own parameter. The given map must be compatible with the user parameters extracted during initialization.
      Specified by:
      reparametrize in interface PreparedQuery
      Parameters:
      user - the map of parameter key and value set by the user on the original query.
      Returns:
      0-based parameter index mapped to corresponding values.
    • toString

      public String toString()
      Overrides:
      toString in class Object