Class NullComparisonExpression

  • All Implemented Interfaces:
    Expression

    public final class NullComparisonExpression
    extends AbstractExpression
    A null comparison tests whether or not the single-valued path expression or input parameter is a NULL value.
    BNF: null_comparison_expression ::= {single_valued_path_expression | input_parameter} IS [NOT] NULL

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

      • NullComparisonExpression

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

      • getActualIsIdentifier

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

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

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

        public Expression getExpression()
        Returns the expression being tested for being null.
        Returns:
        Either the parsed expression or the null-expression
      • getIdentifier

        public java.lang.String getIdentifier()
        Returns the identifier for this expression that may include NOT if it was parsed.
        Returns:
        Either IS NULL or IS NOT NULL
      • hasExpression

        public boolean hasExpression()
        Determines whether the expression preceding the identifier was parsed.
        Returns:
        true the expression preceding the identifier was parsed; false otherwise
      • hasNot

        public boolean hasNot()
        Determines whether NOT is used in the query.
        Returns:
        true if NOT is present in the query; 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