Class ResultVariable

  • All Implemented Interfaces:
    Expression

    public final class ResultVariable
    extends AbstractExpression
    A result variable may be used to name a select item in the query result.
    BNF: select_item ::= select_expression [[AS] result_variable]

    Version:
    2.5
    Author:
    Pascal Filion
    Since:
    2.3
    • Constructor Detail

      • ResultVariable

        public ResultVariable​(AbstractExpression parent,
                              AbstractExpression selectExpression)
        Creates a new ResultVariable.
        Parameters:
        parent - The parent of this expression
        selectExpression - The expression that represents the select expression, which will have a variable assigned to it
    • Method Detail

      • getActualAsIdentifier

        public java.lang.String getActualAsIdentifier()
        Returns the actual AS found in the string representation of the JPQL query, which has the actual case that was used.
        Returns:
        The AS identifier that was actually parsed, or an empty string if it was not parsed
      • getResultVariable

        public Expression getResultVariable()
        Returns the Expression representing the result variable.
        Returns:
        The expression for the result variable
      • getSelectExpression

        public Expression getSelectExpression()
        Returns the Expression representing the select expression.
        Returns:
        The expression for the select expression
      • hasAs

        public boolean hasAs()
        Determines whether the identifier AS was parsed or not.
        Returns:
        true if the identifier AS was parsed; false otherwise
      • hasResultVariable

        public boolean hasResultVariable()
        Determines whether the result variable was parsed.
        Returns:
        true if the result variable was parsed; false otherwise
      • hasSelectExpression

        public boolean hasSelectExpression()
        Determines whether a select expression was defined for this result variable.
        Returns:
        true if the select expression was parsed; false if the result variable was parsed without one
      • hasSpaceAfterAs

        public boolean hasSpaceAfterAs()
        Determines whether a whitespace was parsed after the identifier AS.
        Returns:
        true if there was a whitespace after AS; false otherwise
      • parse

        protected void parse​(WordParser wordParser,
                             boolean tolerant)
        Parses the query by starting at the current position, which is part of the given WordParser.
        Specified by:
        parse in class AbstractExpression
        Parameters:
        wordParser - The text to parse based on the current position of the cursor
        tolerant - Determines whether the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries
      • toParsedText

        protected void toParsedText​(java.lang.StringBuilder writer,
                                    boolean actual)
        Generates a string representation of this Expression, including its children, if it has any.
        Specified by:
        toParsedText in class AbstractExpression
        Parameters:
        writer - The buffer used to append this Expression's string representation
        actual - Determines whether the string representation should represent what was parsed, i.e. include any "virtual" whitespace (such as ending whitespace) and the actual case of the JPQL identifiers