Class OrExpressionStateObject

  • All Implemented Interfaces:
    StateObject

    public class OrExpressionStateObject
    extends LogicalExpressionStateObject
    The OR logical operator chains multiple criteria together. A valid operand of an OR operator must be one of: TRUE, FALSE, and NULL. The OR operator has a lower precedence than the AND operator.

    NULL represents unknown. Therefore, if one operand is NULL and the other operand is TRUE the result is TRUE, because one TRUE operand is sufficient for a TRUE result. If one operand is NULL and the other operand is either FALSE or NULL, the result is NULL (unknown).

    The following table shows how the OR operator is evaluated based on its two operands:

    TRUEFALSENULL
    TRUETRUETRUETRUE
    FALSETRUEFALSENULL
    NULLTRUENULLNULL
    BNF: conditional_expression ::= conditional_expression OR conditional_term

    Since:
    2.4
    Version:
    2.4
    Author:
    Pascal Filion
    See Also:
    OrExpression
    • Constructor Detail

      • OrExpressionStateObject

        public OrExpressionStateObject​(StateObject parent)
        Creates a new OrExpressionStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
      • OrExpressionStateObject

        public OrExpressionStateObject​(StateObject parent,
                                       StateObject leftStateObject,
                                       StateObject rightStateObject)
        Creates a new OrExpressionStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        leftStateObject - The StateObject representing the left expression
        rightStateObject - The StateObject representing the right expression
        Throws:
        java.lang.NullPointerException - The given parent cannot be null
      • OrExpressionStateObject

        public OrExpressionStateObject​(StateObject parent,
                                       java.lang.String leftJpqlFragment,
                                       java.lang.String rightJpqlFragment)
        Creates a new OrExpressionStateObject.
        Parameters:
        parent - The parent of this state object, which cannot be null
        leftJpqlFragment - The string representation of the left expression to parse and to convert into a StateObject
        rightJpqlFragment - The string representation of the right expression to parse and to convert into a StateObject
        Throws:
        java.lang.NullPointerException - The given parent cannot be null