Class AndExpressionStateObject

  • All Implemented Interfaces:
    StateObject

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

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

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

    TRUEFALSENULL
    TRUE TRUE FALSE NULL
    FALSE FALSE FALSE FALSE
    NULL NULL FALSE NULL
    BNF: conditional_term ::= conditional_term AND conditional_factor

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

      • AndExpressionStateObject

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

        public AndExpressionStateObject​(StateObject parent,
                                        StateObject leftStateObject,
                                        StateObject rightStateObject)
        Creates a new AndExpressionStateObject.
        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
      • AndExpressionStateObject

        public AndExpressionStateObject​(StateObject parent,
                                        java.lang.String leftJpqlFragment,
                                        java.lang.String rightJpqlFragment)
        Creates a new AndExpressionStateObject.
        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