Class FunctionExpressionFactory

    • Constructor Detail

      • FunctionExpressionFactory

        public FunctionExpressionFactory​(java.lang.String id,
                                         FunctionExpressionFactory.ParameterCount parameterCount,
                                         java.lang.String parameterQueryBNFId,
                                         java.lang.String... identifiers)
        Creates a new FunctionExpressionFactory.
        Parameters:
        id - The unique identifier of this factory
        parameterCount - The number of parameters a FunctionExpression can have
        parameterQueryBNFId - The unique identifier of the JPQLQueryBNF that will be used to parse the arguments of the function expression
        identifiers - The JPQL identifiers handled by this factory
      • FunctionExpressionFactory

        public FunctionExpressionFactory​(java.lang.String id,
                                         java.lang.String... identifiers)
        Creates a new FunctionExpressionFactory.
        Parameters:
        id - The unique identifier of this factory
        identifiers - The JPQL identifiers handled by this factory
    • Method Detail

      • buildExpression

        protected AbstractExpression buildExpression​(AbstractExpression parent,
                                                     WordParser wordParser,
                                                     java.lang.String word,
                                                     JPQLQueryBNF queryBNF,
                                                     AbstractExpression expression,
                                                     boolean tolerant)
        Creates a new Expression.
        Specified by:
        buildExpression in class ExpressionFactory
        Parameters:
        parent - The parent AbstractExpression
        wordParser - The text to parse based on the current position of the cursor
        word - The current word being parsed
        queryBNF - The BNF grammar that was used to identifier this factory to be capable to parse a portion of the query
        expression - During the parsing, it is possible the first part of an expression was parsed which needs to be used as a sub-expression of the newly created expression
        Returns:
        A new AbstractExpression representing the portion or the totality of the text held by WordParser starting at the cursor position
      • setParameterQueryBNFId

        public void setParameterQueryBNFId​(java.lang.String parameterQueryBNFId)
        Sets the BNF that will be used when parsing the function's arguments.
        Parameters:
        parameterQueryBNFId - The unique identifier of the JPQLQueryBNF that will be used to parse the arguments of the function expression