Class UnionPattern

java.lang.Object
org.loboevolution.apache.xpath.Expression
org.loboevolution.apache.xpath.patterns.UnionPattern
All Implemented Interfaces:
SourceLocator, ExpressionNode, XPathVisitable

public class UnionPattern extends Expression
This class represents a union pattern, which can have multiple individual StepPattern patterns.
  • Constructor Details

    • UnionPattern

      public UnionPattern()
  • Method Details

    • canTraverseOutsideSubtree

      public boolean canTraverseOutsideSubtree()
      Tell if this expression or it's subexpressions can traverse outside the current subtree.
      Overrides:
      canTraverseOutsideSubtree in class Expression
      Returns:
      true if traversal outside the context node's subtree can occur.
    • setPatterns

      public void setPatterns(StepPattern[] patterns)
      Set the contained step patterns to be tested.
      Parameters:
      patterns - the contained step patterns to be tested.
    • execute

      public XObject execute(XPathContext xctxt) throws TransformerException
      Execute an expression in the XPath runtime context, and return the result of the expression.
      Specified by:
      execute in class Expression
      Parameters:
      xctxt - The XPath runtime context.
      Returns:
      The result of the expression in the form of a XObject.
      Throws:
      TransformerException - if a runtime exception occurs.
    • callVisitors

      public void callVisitors(XPathVisitor visitor)
      This will traverse the hierarchy, calling the visitor for each member. If the called visitor method returns false, the subtree should not be called.
      Parameters:
      visitor - The visitor whose appropriate method will be called.
    • deepEquals

      public boolean deepEquals(Expression expr)
      Compare this object with another object and see if they are equal, include the sub heararchy.
      Specified by:
      deepEquals in class Expression
      Parameters:
      expr - Another expression object.
      Returns:
      true if this objects class and the expr object's class are the same, and the data contained within both objects are considered equal.