Class ConditionNode

All Implemented Interfaces:
Serializable, Node, XMLSerializable
Direct Known Subclasses:
ASTAll, ASTAny, ASTBetween, ASTEqual, ASTExists, ASTFalse, ASTGreater, ASTGreaterOrEqual, ASTIn, ASTLess, ASTLessOrEqual, ASTNotBetween, ASTNotEqual, ASTNotExists, ASTNotIn, ASTTrue, PatternMatchNode

public abstract class ConditionNode extends SimpleNode
Superclass of conditional expressions.
Since:
1.1
See Also:
  • Constructor Details

    • ConditionNode

      public ConditionNode(int i)
  • Method Details

    • isValidParent

      protected boolean isValidParent(Node n)
      Description copied from class: SimpleNode
      Additional parent check that we can't handle properly in the grammar By default it just returns true.
      Overrides:
      isValidParent in class SimpleNode
      Parameters:
      n - potential parent node to check
      Returns:
      true if node could be set as a parent for the current node
    • evaluateNode

      protected Object evaluateNode(Object o) throws Exception
      Description copied from class: SimpleNode
      Evaluates itself with object, pushing result on the stack.
      Specified by:
      evaluateNode in class SimpleNode
      Throws:
      Exception
    • getRequiredChildrenCount

      protected abstract int getRequiredChildrenCount()
    • evaluateSubNode

      protected abstract Boolean evaluateSubNode(Object o, Object[] evaluatedChildren) throws Exception
      Throws:
      Exception
    • exists

      public Expression exists()
      Returns expression that will be dynamically resolved to proper subqueries based on a relationships used (if no relationships are present in the original expression no subqueries will be used).
      Overrides:
      exists in class SimpleNode
      Returns:
      exists expression
      Since:
      5.0
      See Also:
    • notExists

      public Expression notExists()
      Returns expression that will be dynamically resolved to proper subqueries based on a relationships used (if no relationships are present in the original expression no subqueries will be used).
      Overrides:
      notExists in class SimpleNode
      Returns:
      not exists expression
      Since:
      5.0
      See Also: