Class ContainerPointer

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Comparable, Pointer

    public class ContainerPointer
    extends NodePointer
    Transparent pointer to a Container. The NodePointer.getValue() method returns the contents of the container, rather than the container itself.
    Version:
    $Revision: 652884 $ $Date: 2008-05-02 15:02:00 -0500 (Fri, 02 May 2008) $
    Author:
    Dmitri Plotnikov
    See Also:
    Serialized Form
    • Constructor Detail

      • ContainerPointer

        public ContainerPointer​(Container container,
                                java.util.Locale locale)
        Create a new ContainerPointer.
        Parameters:
        container - Container object
        locale - Locale
      • ContainerPointer

        public ContainerPointer​(NodePointer parent,
                                Container container)
        Create a new ContainerPointer.
        Parameters:
        parent - parent pointer
        container - Container object
    • Method Detail

      • isContainer

        public boolean isContainer()
        This type of node is auxiliary.
        Overrides:
        isContainer in class NodePointer
        Returns:
        true.
      • getName

        public QName getName()
        Description copied from class: NodePointer
        Returns the name of this node. Can be null.
        Specified by:
        getName in class NodePointer
        Returns:
        QName
      • getBaseValue

        public java.lang.Object getBaseValue()
        Description copied from class: NodePointer
        Returns the value represented by the pointer before indexing. So, if the node represents an element of a collection, this method returns the collection itself.
        Specified by:
        getBaseValue in class NodePointer
        Returns:
        Object value
      • isCollection

        public boolean isCollection()
        Description copied from class: NodePointer
        Returns true if the value of the pointer is an array or a Collection.
        Specified by:
        isCollection in class NodePointer
        Returns:
        boolean
      • getLength

        public int getLength()
        Description copied from class: NodePointer
        If the pointer represents a collection (or collection element), returns the length of the collection. Otherwise returns 1 (even if the value is null).
        Specified by:
        getLength in class NodePointer
        Returns:
        int
      • isLeaf

        public boolean isLeaf()
        Description copied from class: NodePointer
        If true, this node does not have children
        Specified by:
        isLeaf in class NodePointer
        Returns:
        boolean
      • getImmediateNode

        public java.lang.Object getImmediateNode()
        Description copied from class: NodePointer
        Returns the object the pointer points to; does not convert it to a "canonical" type.
        Specified by:
        getImmediateNode in class NodePointer
        Returns:
        Object node
      • setValue

        public void setValue​(java.lang.Object value)
        Description copied from class: NodePointer
        Converts the value to the required type and changes the corresponding object to that value.
        Specified by:
        setValue in interface Pointer
        Specified by:
        setValue in class NodePointer
        Parameters:
        value - the value to set
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object object)
        Overrides:
        equals in class java.lang.Object
      • childIterator

        public NodeIterator childIterator​(NodeTest test,
                                          boolean reverse,
                                          NodePointer startWith)
        Description copied from class: NodePointer
        Returns a NodeIterator that iterates over all children or all children that match the given NodeTest, starting with the specified one.
        Overrides:
        childIterator in class NodePointer
        Parameters:
        test - NodeTest to filter children
        reverse - specified iteration direction
        startWith - the NodePointer to start with
        Returns:
        NodeIterator
      • attributeIterator

        public NodeIterator attributeIterator​(QName name)
        Description copied from class: NodePointer
        Returns a NodeIterator that iterates over all attributes of the current node matching the supplied node name (could have a wildcard). May return null if the object does not support the attributes.
        Overrides:
        attributeIterator in class NodePointer
        Parameters:
        name - the attribute name to test
        Returns:
        NodeIterator
      • namespaceIterator

        public NodeIterator namespaceIterator()
        Description copied from class: NodePointer
        Returns a NodeIterator that iterates over all namespaces of the value currently pointed at. May return null if the object does not support the namespaces.
        Overrides:
        namespaceIterator in class NodePointer
        Returns:
        NodeIterator
      • namespacePointer

        public NodePointer namespacePointer​(java.lang.String namespace)
        Description copied from class: NodePointer
        Returns a NodePointer for the specified namespace. Will return null if namespaces are not supported. Will return UNKNOWN_NAMESPACE if there is no such namespace.
        Overrides:
        namespacePointer in class NodePointer
        Parameters:
        namespace - incoming namespace
        Returns:
        NodePointer for namespace
      • testNode

        public boolean testNode​(NodeTest nodeTest)
        Description copied from class: NodePointer
        Checks if this Pointer matches the supplied NodeTest.
        Overrides:
        testNode in class NodePointer
        Parameters:
        nodeTest - the NodeTest to execute
        Returns:
        true if a match
      • compareChildNodePointers

        public int compareChildNodePointers​(NodePointer pointer1,
                                            NodePointer pointer2)
        Description copied from class: NodePointer
        Compares two child NodePointers and returns a positive number, zero or a positive number according to the order of the pointers.
        Specified by:
        compareChildNodePointers in class NodePointer
        Parameters:
        pointer1 - first pointer to be compared
        pointer2 - second pointer to be compared
        Returns:
        int per Java comparison conventions
      • getNamespaceURI

        public java.lang.String getNamespaceURI​(java.lang.String prefix)
        Description copied from class: NodePointer
        Decodes a namespace prefix to the corresponding URI.
        Overrides:
        getNamespaceURI in class NodePointer
        Parameters:
        prefix - prefix to decode
        Returns:
        String uri
      • asPath

        public java.lang.String asPath()
        Description copied from class: NodePointer
        Returns an XPath that maps to this Pointer.
        Specified by:
        asPath in interface Pointer
        Overrides:
        asPath in class NodePointer
        Returns:
        String xpath expression