Class ExprNodeUtilityCompare

java.lang.Object
com.espertech.esper.common.internal.epl.expression.core.ExprNodeUtilityCompare

public class ExprNodeUtilityCompare extends Object
  • Constructor Details

    • ExprNodeUtilityCompare

      public ExprNodeUtilityCompare()
  • Method Details

    • deepEqualsIsSubset

      public static boolean deepEqualsIsSubset(ExprNode[] subset, ExprNode[] superset)
    • deepEqualsIgnoreDupAndOrder

      public static boolean deepEqualsIgnoreDupAndOrder(ExprNode[] setOne, ExprNode[] setTwo)
    • deepEquals

      public static boolean deepEquals(ExprNode nodeOne, ExprNode nodeTwo, boolean ignoreStreamPrefix)
      Compare two expression nodes and their children in exact child-node sequence, returning true if the 2 expression nodes trees are equals, or false if they are not equals.

      Recursive call since it uses this method to compare child nodes in the same exact sequence. Nodes are compared using the equalsNode method.

      Parameters:
      nodeOne - - first expression top node of the tree to compare
      nodeTwo - - second expression top node of the tree to compare
      ignoreStreamPrefix - when the equals-comparison can ignore prefix of event properties
      Returns:
      false if this or all child nodes are not equal, true if equal
    • deepEqualsNullChecked

      public static boolean deepEqualsNullChecked(ExprNode nodeOne, ExprNode nodeTwo, boolean ignoreStreamPrefix)
    • deepEquals

      public static boolean deepEquals(ExprNode[] one, ExprNode[] two, boolean ignoreStreamPrefix)
      Compares two expression nodes via deep comparison, considering all child nodes of either side.
      Parameters:
      one - array of expressions
      two - array of expressions
      ignoreStreamPrefix - indicator whether we ignore stream prefixes and instead use resolved property name
      Returns:
      true if the expressions are equal, false if not
    • deepEquals

      public static boolean deepEquals(List<ExprNode> one, List<ExprNode> two)