Class PreparedQueryImpl

  • All Implemented Interfaces:
    PreparedQuery

    public class PreparedQueryImpl
    extends java.lang.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 Detail

      • PreparedQueryImpl

        public PreparedQueryImpl​(java.lang.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​(java.lang.String id,
                                 java.lang.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 Detail

      • getIdentifier

        public java.lang.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 java.lang.String getLanguage()
        Description copied from interface: PreparedQuery
        Gets the language in which this query is expressed.
        Specified by:
        getLanguage in interface PreparedQuery
      • getOriginalQuery

        public java.lang.String getOriginalQuery()
        Get the original query string which is same as the identifier of this receiver.
        Specified by:
        getOriginalQuery 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
      • getProjectionTypes

        public java.lang.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​(java.lang.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 java.util.Map<java.lang.Integer,​java.lang.Object> reparametrize​(java.util.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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object