Interface NamedQueryManager

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String beginTransaction​(java.lang.String project, java.lang.String datasource, int isolationLevel, long timeout)
      Registers a transaction, but does not actually begin it until a query is invoked in that transaction.
      void clearAllCaches​(java.lang.String project)
      Clears all Named Query caches for this project.
      void clearCache​(java.lang.String project, java.lang.String queryPaths)
      Clears the named query caches of the passed paths to the named queries.
      java.lang.Object execute​(java.lang.String project, NamedQuery query, java.util.Map<java.lang.String,​java.lang.Object> parameters, boolean canCache, boolean canLimit, java.lang.String tx, boolean getKey)
      Executes a named query that exists on the provided queryPath.
      java.lang.Object execute​(java.lang.String project, java.lang.String queryPath, java.util.Map<java.lang.String,​java.lang.Object> parameters, boolean canCache, boolean canLimit, java.lang.String tx, boolean getKey)
      Executes a named query that exists on the provided queryPath.
      boolean executeSFquery​(java.lang.String project, java.lang.String path, java.util.Map<java.lang.String,​java.lang.Object> parameters)
      Executes an update query that exists on the provided queryPath through the Store & Forward system.
      NamedQuery getQueryFromPath​(java.lang.String project, java.lang.String queryPath)
      Returns the Cached NamedQuery based on the provided queryPath.
    • Method Detail

      • beginTransaction

        @Nullable
        java.lang.String beginTransaction​(java.lang.String project,
                                          java.lang.String datasource,
                                          int isolationLevel,
                                          long timeout)
                                   throws java.lang.Exception
        Registers a transaction, but does not actually begin it until a query is invoked in that transaction. This lets us have a beginTransaction without client protection that doesn't risk getting our connection pool clobbered. Returns null if project does not exist or has not started up.
        Throws:
        java.lang.Exception
      • execute

        @Nullable
        java.lang.Object execute​(java.lang.String project,
                                 java.lang.String queryPath,
                                 java.util.Map<java.lang.String,​java.lang.Object> parameters,
                                 boolean canCache,
                                 boolean canLimit,
                                 java.lang.String tx,
                                 boolean getKey)
                          throws java.lang.Exception
        Executes a named query that exists on the provided queryPath. If the Named Query has parameters, values for each parameter should be supplied in the parameters map that conform to their data type. If the Named Query cannot be found at the supplied path, the required parameters aren't present, or their types are incorrect an Exception is thrown.
        Parameters:
        queryPath - The path to the Named Query. Must not be null
        parameters - A parameter map for the named query. Keys being the parameter name and values their corresponding value. Must not be null
        canCache - If true, will cache if the query config is set to cache
        canLimit - If true, will limit the results if the query config is set to limit
        tx - If this field is not blank, will make this query part of a transaction
        getKey - If update query, will return new PK if true otherwise returns number of rows affected.
        Returns:
        Object of query results. May be null
        Throws:
        java.lang.Exception - If query not found or query generates an exception
      • execute

        @Nullable
        java.lang.Object execute​(java.lang.String project,
                                 NamedQuery query,
                                 java.util.Map<java.lang.String,​java.lang.Object> parameters,
                                 boolean canCache,
                                 boolean canLimit,
                                 java.lang.String tx,
                                 boolean getKey)
                          throws java.lang.Exception
        Executes a named query that exists on the provided queryPath. If the Named Query has parameters, values for each parameter should be supplied in the parameters map that conform to their data type. If the Named Query cannot be found at the supplied path, the required parameters aren't present, or their types are incorrect an Exception is thrown.
        Parameters:
        project - The name of the effective project the named queries whose cache you wish to clear reside in.
        query - The NamedQuery to execute. Must not be null
        parameters - A parameter map for the named query. Keys being the parameter name and values their corresponding value. Must not be null
        canCache - If true, will cache if the query config is set to cache
        canLimit - If true, will limit the results if the query config is set to limit
        Returns:
        Object of query results. May be null
        Throws:
        java.lang.Exception - If query not found or query generates an exception
      • getQueryFromPath

        @Nullable
        NamedQuery getQueryFromPath​(java.lang.String project,
                                    java.lang.String queryPath)
                             throws java.lang.Exception
        Returns the Cached NamedQuery based on the provided queryPath. Useful for checking permissions.
        Parameters:
        queryPath - Path to Named Query resource
        Returns:
        NamedQuery resource or null if not found.
        Throws:
        java.lang.Exception - If query or the project are not found
      • clearCache

        void clearCache​(java.lang.String project,
                        java.lang.String queryPaths)
                 throws java.lang.Exception
        Clears the named query caches of the passed paths to the named queries.
        Parameters:
        project - the name of the effective project the named queries whose cache you wish to clear reside in.
        queryPaths - a comma-separated string of the paths to the named queries that we want to clear. Must not be null
        Throws:
        java.lang.Exception - If query or the project are not found
      • clearAllCaches

        void clearAllCaches​(java.lang.String project)
                     throws java.lang.Exception
        Clears all Named Query caches for this project.
        Parameters:
        project - The name of the effective project whose named queries' cache you wish to clear.
        Throws:
        java.lang.Exception - If the project is not found
      • executeSFquery

        boolean executeSFquery​(java.lang.String project,
                               java.lang.String path,
                               java.util.Map<java.lang.String,​java.lang.Object> parameters)
                        throws java.lang.Exception
        Executes an update query that exists on the provided queryPath through the Store & Forward system. If the Named Query cannot be found at the supplied path, the required parameters aren't present, or their types are incorrect an Exception is thrown.
        Parameters:
        project - Project the query resides in. Not empty or null.
        path - Path to the query resource. Not empty or null.
        parameters - A parameter map for the named query. Keys being the parameter name and values their corresponding value. Must not be null
        Returns:
        True if successfully sent to store and forward system.
        Throws:
        java.lang.Exception - If required values are empty or don't exist, or if query is not an Update query.