Class AggregateConditionNode

All Implemented Interfaces:
Serializable, Node, XMLSerializable
Direct Known Subclasses:
ASTAnd, ASTNot, ASTOr, ASTWhen

public abstract class AggregateConditionNode extends SimpleNode
Superclass of aggregated conditional nodes such as NOT, AND, OR. Performs extra checks on parent and child expressions to validate conditions that are not addressed in the Cayenne expressions grammar.
Since:
1.1
See Also:
  • Method Details

    • pruneNodeForPrunedChild

      protected boolean pruneNodeForPrunedChild(Object prunedChild)
      Description copied from class: Expression
      Returns true if this node should be pruned from expression tree in the event a child is removed.
      Overrides:
      pruneNodeForPrunedChild in class SimpleNode
    • transformExpression

      protected Object transformExpression(Function<Object,Object> transformer)
      Description copied from class: Expression
      A recursive method called from "transform" to do the actual transformation.
      Overrides:
      transformExpression in class Expression
      Returns:
      null, Expression.PRUNED_NODE or transformed expression.
    • 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
    • jjtAddChild

      public void jjtAddChild(Node n, int i)
      Description copied from interface: Node
      This method tells the node to add its argument to the node's list of children.
      Specified by:
      jjtAddChild in interface Node
      Overrides:
      jjtAddChild in class SimpleNode
    • exists

      public Expression exists()
      Description copied from class: Expression
      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
      See Also:
    • notExists

      public Expression notExists()
      Description copied from class: Expression
      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
      See Also: