Class CompoundExpression

    • Constructor Detail

      • CompoundExpression

        protected CompoundExpression​(AbstractExpression parent,
                                     java.lang.String identifier)
        Creates a new CompoundExpression.
        Parameters:
        parent - The parent of this expression
        identifier - The identifier of this expression
    • Method Detail

      • getActualIdentifier

        public final java.lang.String getActualIdentifier()
        Returns the actual identifier found in the string representation of the JPQL query, which has the actual case that was used.
        Returns:
        The JPQL identifier that was actually parsed
      • getIdentifier

        public java.lang.String getIdentifier()
        Returns the JPQL identifier of this expression.
        Returns:
        The JPQL identifier
      • getLeftExpression

        public final Expression getLeftExpression()
        Returns the Expression that represents the first expression, which is before the identifier.
        Returns:
        The expression that was parsed representing the first expression
      • getLeftExpressionQueryBNFId

        public abstract java.lang.String getLeftExpressionQueryBNFId()
        Returns the unique identifier of the JPQLQueryBNF for the left expression.
        Returns:
        The ID of the BNF used when parsing the expression before the identifier
      • getRightExpression

        public final Expression getRightExpression()
        Returns the Expression that represents the second expression, which is after the identifier.
        Returns:
        The expression that was parsed representing the second expression
      • getRightExpressionQueryBNFId

        public abstract java.lang.String getRightExpressionQueryBNFId()
        Returns the unique identifier of the JPQLQueryBNF for the right expression.
        Returns:
        The ID of the BNF used when parsing the expression after the identifier
      • hasLeftExpression

        public final boolean hasLeftExpression()
        Determines whether the first expression of the query was parsed.
        Returns:
        true if the first expression was parsed; false if it was not parsed
      • hasRightExpression

        public final boolean hasRightExpression()
        Determines whether the second expression of the query was parsed.
        Returns:
        true if the second expression was parsed; false if it was not parsed
      • hasSpaceAfterIdentifier

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

        protected final 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
      • parseIdentifier

        protected abstract java.lang.String parseIdentifier​(WordParser wordParser)
        Parses the identifier of this expression.
        Parameters:
        wordParser - The WordParser containing the text to parse, which starts with the identifier
        Returns:
        The identifier for this expression
      • setLeftExpression

        protected final void setLeftExpression​(AbstractExpression leftExpression)
        Sets the given Expression to be the first expression of this compound one.
        Parameters:
        leftExpression - The expression that was parsed before the identifier
      • setRightExpression

        protected final void setRightExpression​(AbstractExpression rightExpression)
        Sets the given Expression to be the second expression of this compound one.
        Parameters:
        rightExpression - The expression that was parsed after the identifier
      • toParsedText

        protected final 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