Class ContainerPointer

java.lang.Object
org.apache.commons.jxpath.ri.model.NodePointer
org.apache.commons.jxpath.ri.model.container.ContainerPointer
All Implemented Interfaces:
Serializable, Cloneable, 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.
See Also:
  • Constructor Details

    • ContainerPointer

      public ContainerPointer(Container container, Locale locale)
      Constructs a new ContainerPointer.
      Parameters:
      container - Container object
      locale - Locale
    • ContainerPointer

      public ContainerPointer(NodePointer parent, Container container)
      Constructs a new ContainerPointer.
      Parameters:
      parent - parent pointer
      container - Container object
  • Method Details

    • asPath

      public 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
    • attributeIterator

      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:
      qName - the attribute name to test
      Returns:
      NodeIterator
    • 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
    • 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
    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class Object
    • getBaseValue

      public Object getBaseValue()
      Description copied from class: NodePointer
      Gets 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
    • 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
    • getImmediateValuePointer

      Description copied from class: NodePointer
      Gets this instance by default, subclasses can return a pointer for the immediately contained value.
      Overrides:
      getImmediateValuePointer in class NodePointer
      Returns:
      NodePointer is either this or a pointer for the immediately contained value.
      See Also:
    • 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:
      the length.
    • getName

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

      public String getNamespaceURI(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
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • 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
    • isContainer

      public boolean isContainer()
      This type of node is auxiliary.
      Overrides:
      isContainer in class NodePointer
      Returns:
      true.
    • 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
    • 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(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
    • setValue

      public void setValue(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
    • 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