Class AbstractJPQLQueryBuilder

    • Constructor Detail

      • AbstractJPQLQueryBuilder

        protected AbstractJPQLQueryBuilder()
        Creates a new AbstractJPQLQueryBuilder.
    • Method Detail

      • buildStateObject

        public JPQLQueryStateObject buildStateObject​(IManagedTypeProvider provider,
                                                     java.lang.CharSequence jpqlQuery,
                                                     boolean tolerant)
        Creates a state model representation of a JPQL query that can be edited.
        Specified by:
        buildStateObject in interface IJPQLQueryBuilder
        Parameters:
        provider - The provider of managed types
        jpqlQuery - The JPQL query to parse into a StateObject model
        tolerant - Determines if the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries
        Returns:
        The root of the StateObject model that represents the edited form of the JPQL query
      • buildStateObject

        public JPQLQueryStateObject buildStateObject​(IManagedTypeProvider provider,
                                                     java.lang.CharSequence jpqlQuery,
                                                     java.lang.String queryBNFId,
                                                     boolean tolerant)
        Creates a state model representation of a JPQL query that can be edited.
        Specified by:
        buildStateObject in interface IJPQLQueryBuilder
        Parameters:
        provider - The provider of managed types
        jpqlQuery - The JPQL query to parse into a StateObject model
        queryBNFId - The unique identifier of the query BNF that will be used to parse the fragment
        tolerant - Determines if the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries
        Returns:
        The root of the StateObject model that represents the edited form of the JPQL query
      • buildStateObject

        public StateObject buildStateObject​(StateObject parent,
                                            java.lang.CharSequence jpqlFragment,
                                            java.lang.String queryBNFId)
        Creates a StateObject representation of the given JPQL fragment. In order to properly parse the fragment, the given unique identifier of the JPQLQueryBNF will determine how to parse it.

        It is possible the given JPQL fragment has more than one expression, in this case, parsing should stop at the first comma (x, y) or space (x y) where x and y are two separate expressions.

        Specified by:
        buildStateObject in interface IJPQLQueryBuilder
        Parameters:
        parent - The StateObject that will be the parent of the newly created model
        jpqlFragment - A portion of a JPQL query that will be parsed and the StateObject representation will be created
        queryBNFId - The unique identifier of the query BNF that will be used to parse the fragment
        Returns:
        The StateObject representation of the given JPQL fragment
      • parse

        protected JPQLExpression parse​(java.lang.CharSequence jpqlQuery,
                                       JPQLGrammar jpqlGrammar,
                                       boolean tolerant)
        Parses the given JPQL query with tolerant mode turned on.
        Parameters:
        jpqlQuery - The string representation of the JPQL query to parse
        jpqlGrammar - The JPQL grammar that defines how to parse a JPQL query
        tolerant - Determines if the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries
        Returns:
        The root of the parsed tree representation of the JPQL query
      • parse

        protected JPQLExpression parse​(java.lang.CharSequence jpqFragment,
                                       JPQLGrammar jpqlGrammar,
                                       java.lang.String queryBNFId)
        Parses the given JPQL fragment with tolerant mode turned on.
        Parameters:
        jpqFragment - The string representation of the portion of a JPQL query to parse
        jpqlGrammar - The JPQL grammar that defines how to parse a JPQL query
        queryBNFId - The unique identifier of the JPQLQueryBNF
        Returns:
        The root of the parsed tree representation of the JPQL fragment