Class 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 Detail

      • 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 Detail

      • getOriginalQuery

        public 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 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.