Class FunctionExpression

  • All Implemented Interfaces:
    Expression

    public final class FunctionExpression
    extends AbstractSingleEncapsulatedExpression
    This expression adds support to call native database functions.

    New to JPA 2.1.

    BNF: func_expression ::= <identifier>('function_name' {, func_item}*)

    Version:
    2.5
    Author:
    James
    Since:
    2.4
    • Constructor Detail

      • FunctionExpression

        public FunctionExpression​(AbstractExpression parent,
                                  String identifier)
        Creates a new FuncExpression.
        Parameters:
        parent - The parent of this expression
        identifier - The JPQL identifier
    • Method Detail

      • getFunctionName

        public String getFunctionName()
        Returns the name of the SQL function.
        Returns:
        The name of the SQL function
      • getUnquotedFunctionName

        public String getUnquotedFunctionName()
        Returns the name of the SQL function.
        Returns:
        The name of the SQL function
      • hasComma

        public boolean hasComma()
        Determines whether the comma was parsed after the function name.
        Returns:
        true if a comma was parsed after the function name and the first expression; false otherwise
      • hasFunctionName

        public boolean hasFunctionName()
        Determines whether the function name was parsed.
        Returns:
        true if the function name was parsed; false otherwise
      • hasSpaceAfterComma

        public boolean hasSpaceAfterComma()
        Determines whether a whitespace was parsed after the comma.
        Returns:
        true if there was a whitespace after the comma; false otherwise
      • parseEncapsulatedExpression

        protected void parseEncapsulatedExpression​(WordParser wordParser,
                                                   int whitespaceCount,
                                                   boolean tolerant)
        Description copied from class: AbstractEncapsulatedExpression
        Parses the encapsulated expression by starting at the current position, which is part of the given WordParser.
        Overrides:
        parseEncapsulatedExpression in class AbstractSingleEncapsulatedExpression
        Parameters:
        wordParser - The text to parse based on the current position of the cursor
        whitespaceCount - The number of whitespace characters that were parsed after '('
        tolerant - Determines whether the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries