Class RebasedNode

    • Constructor Detail

      • RebasedNode

        protected RebasedNode()
      • RebasedNode

        protected RebasedNode​(NodeInfo node,
                              RebasedNode parent)
        This constructor is protected: nodes should be created using the makeWrapper factory method
        Parameters:
        node - The node to be wrapped
        parent - The RebasedNode that wraps the parent of this node
    • Method Detail

      • makeWrapper

        public static RebasedNode makeWrapper​(NodeInfo node,
                                              RebasedDocument docWrapper,
                                              RebasedNode parent)
        Factory method to wrap a node with a wrapper that implements the Saxon NodeInfo interface.
        Parameters:
        node - The underlying node
        docWrapper - The wrapper for the document node (must be supplied)
        parent - The wrapper for the parent of the node (null if unknown)
        Returns:
        The new wrapper for the supplied node
      • makeWrapper

        public RebasedNode makeWrapper​(NodeInfo node,
                                       VirtualNode parent)
        Factory method to wrap a node with a VirtualNode
        Specified by:
        makeWrapper in interface WrappingFunction
        Parameters:
        node - The underlying node
        parent - The wrapper for the parent of the node (null if unknown)
        Returns:
        The new wrapper for the supplied node
      • getBaseURI

        public String getBaseURI()
        Get the Base URI for the node, that is, the URI used for resolving a relative URI contained in the node.
        Specified by:
        getBaseURI in interface NodeInfo
        Overrides:
        getBaseURI in class AbstractVirtualNode
        Returns:
        the base URI of the node. This may be null if the base URI is unknown, including the case where the node has no parent.
      • equals

        public boolean equals​(Object other)
        Determine whether this is the same node as another node.

        Note: a.isSameNode(b) if and only if generateId(a)==generateId(b)

        Specified by:
        equals in interface NodeInfo
        Overrides:
        equals in class AbstractVirtualNode
        Parameters:
        other - the node to be compared with this node
        Returns:
        true if this Node object and the supplied Node object represent the same node in the tree.
      • hashCode

        public int hashCode()
        The hashCode() method obeys the contract for hashCode(): that is, if two objects are equal (represent the same node) then they must have the same hashCode()
        Specified by:
        hashCode in interface NodeInfo
        Overrides:
        hashCode in class AbstractVirtualNode
      • compareOrder

        public int compareOrder​(NodeInfo other)
        Determine the relative position of this node and another node, in document order. The other node will always be in the same document.
        Specified by:
        compareOrder in interface NodeInfo
        Overrides:
        compareOrder in class AbstractVirtualNode
        Parameters:
        other - The other node, whose position is to be compared with this node
        Returns:
        -1 if this node precedes the other node, +1 if it follows the other node, or 0 if they are the same node. (In this case, isSameNode() will always return true, and the two nodes will produce the same result for generateId())
      • getParent

        public NodeInfo getParent()
        Get the NodeInfo object representing the parent of this node
        Specified by:
        getParent in interface NodeInfo
        Returns:
        the parent of this node; null if this node has no parent
      • iterateAxis

        public AxisIterator iterateAxis​(int axisNumber)
        Return an iteration over the nodes reached by the given axis from this node
        Specified by:
        iterateAxis in interface NodeInfo
        Parameters:
        axisNumber - the axis to be used
        Returns:
        a SequenceIterator that scans the nodes reached by the axis in turn.
        See Also:
        AxisInfo