Class UnionPattern

  • All Implemented Interfaces:
    javax.xml.transform.SourceLocator, ExpressionNode, XPathVisitable

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

      • patterns_

        private StepPattern[] patterns_
        Array of the contained step patterns to be tested.
    • Constructor Detail

      • UnionPattern

        public UnionPattern()
    • Method Detail

      • 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 javax.xml.transform.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:
        javax.xml.transform.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.