Class UnionPattern

  • All Implemented Interfaces:
    java.io.Serializable, javax.xml.transform.SourceLocator, Container

    public class UnionPattern
    extends Pattern
    A pattern formed as the union (or) of two other patterns
    See Also:
    Serialized Form
    • Constructor Detail

      • UnionPattern

        public UnionPattern​(Pattern p1,
                            Pattern p2)
        Constructor
        Parameters:
        p1 - the left-hand operand
        p2 - the right-hand operand
    • Method Detail

      • setOriginalText

        public void setOriginalText​(java.lang.String pattern)
        Set the original text
        Overrides:
        setOriginalText in class Pattern
      • matches

        public boolean matches​(NodeInfo e,
                               XPathContext context)
                        throws XPathException
        Determine if the supplied node matches the pattern
        Specified by:
        matches in class Pattern
        Parameters:
        e - the node to be compared
        context - The dynamic context. Only relevant if the pattern uses variables, or contains calls on functions such as document() or key().
        Returns:
        true if the node matches either of the operand patterns
        Throws:
        XPathException
      • getNodeKind

        public int getNodeKind()
        Determine the types of nodes to which this pattern applies. Used for optimisation. For patterns that match nodes of several types, return Node.NODE
        Overrides:
        getNodeKind in class Pattern
        Returns:
        the type of node matched by this pattern. e.g. Node.ELEMENT or Node.TEXT
      • getNodeTest

        public NodeTest getNodeTest()
        Get a NodeTest that all the nodes matching this pattern must satisfy
        Specified by:
        getNodeTest in class Pattern
      • getLHS

        public Pattern getLHS()
        Get the LHS of the union
      • getRHS

        public Pattern getRHS()
        Get the RHS of the union
      • setSystemId

        public void setSystemId​(java.lang.String systemId)
        Override method to set the system ID, so it's set on both halves
        Overrides:
        setSystemId in class Pattern
      • setLineNumber

        public void setLineNumber​(int lineNumber)
        Override method to set the system ID, so it's set on both halves
        Overrides:
        setLineNumber in class Pattern