Class JDOMNodePointer

java.lang.Object
org.apache.commons.jxpath.ri.model.NodePointer
org.apache.commons.jxpath.ri.model.jdom.JDOMNodePointer
All Implemented Interfaces:
Serializable, Cloneable, Comparable, Pointer

public class JDOMNodePointer extends NodePointer
A Pointer that points to a DOM node.
See Also:
  • Field Details

  • Constructor Details

    • JDOMNodePointer

      public JDOMNodePointer(NodePointer parent, Object node)
      Constructs a new JDOMNodePointer.
      Parameters:
      parent - NodePointer
      node - pointed
    • JDOMNodePointer

      public JDOMNodePointer(Object node, Locale locale)
      Constructs a new JDOMNodePointer.
      Parameters:
      node - node, like a bean.
      locale - Locale
    • JDOMNodePointer

      public JDOMNodePointer(Object node, Locale locale, String id)
      Constructs a new JDOMNodePointer.
      Parameters:
      node - pointed
      locale - Locale
      id - String id
  • Method Details

    • findEnclosingAttribute

      protected static String findEnclosingAttribute(Object n, String attrName, Namespace ns)
      Find the nearest occurrence of the specified attribute on the specified and enclosing elements.
      Parameters:
      n - current node
      attrName - attribute name
      ns - Namespace
      Returns:
      attribute value
    • getLocalName

      public static String getLocalName(Object node)
      Gets the local name of the specified node.
      Parameters:
      node - to check
      Returns:
      String local name
    • getPrefix

      public static String getPrefix(Object node)
      Gets the prefix from a given node.
      Parameters:
      node - to check
      Returns:
      String
    • testNode

      public static boolean testNode(NodePointer pointer, Object node, NodeTest test)
      Execute test against node on behalf of pointer.
      Parameters:
      pointer - Pointer
      node - to test
      test - to execute
      Returns:
      true if node passes test
    • 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
    • createAttribute

      public NodePointer createAttribute(JXPathContext context, QName qName)
      Description copied from class: NodePointer
      Called to create a non-existing attribute
      Overrides:
      createAttribute in class NodePointer
      Parameters:
      context - the owning JXPathCOntext
      qName - the QName at which an attribute should be created
      Returns:
      created NodePointer
    • createChild

      public NodePointer createChild(JXPathContext context, QName qName, int index)
      Description copied from class: NodePointer
      Called by a child pointer when it needs to create a parent object for a non-existent collection element. It may have to expand the collection, then create an element object and return a new pointer describing the newly created element.
      Overrides:
      createChild in class NodePointer
      Parameters:
      context - the owning JXPathCOntext
      qName - the QName at which a child should be created
      index - child index.
      Returns:
      created NodePointer
    • createChild

      public NodePointer createChild(JXPathContext context, QName qName, int index, Object value)
      Description copied from class: NodePointer
      Called by a child pointer if that child needs to assign the value supplied in the createPath(context, value) call to a non-existent node. This method may have to expand the collection in order to assign the element.
      Overrides:
      createChild in class NodePointer
      Parameters:
      context - the owning JXPathCOntext
      qName - the QName at which a child should be created
      index - child index.
      value - node value to set
      Returns:
      created NodePointer
    • 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
    • getLanguage

      protected String getLanguage()
      Gets the language of this element.
      Returns:
      String language
    • 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.
    • getNamespaceResolver

      Description copied from class: NodePointer
      Gets the NamespaceResolver associated with this NodePointer.
      Overrides:
      getNamespaceResolver in class NodePointer
      Returns:
      NamespaceResolver
    • getNamespaceURI

      Description copied from class: NodePointer
      Returns the namespace URI associated with this Pointer.
      Overrides:
      getNamespaceURI in class NodePointer
      Returns:
      String uri
    • 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
    • getValue

      public Object getValue()
      Description copied from class: NodePointer
      By default, returns getNode(), can be overridden to return a "canonical" value, like for instance a DOM element should return its string value.
      Specified by:
      getValue in interface Pointer
      Overrides:
      getValue in class NodePointer
      Returns:
      Object value
    • 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
    • isLanguage

      public boolean isLanguage(String lang)
      Returns true if the xml:lang attribute for the current node or its parent has the specified prefix lang. If no node has this prefix, calls super.isLanguage(lang).
      Overrides:
      isLanguage in class NodePointer
      Parameters:
      lang - to compare
      Returns:
      true if this element uses the specified language.
    • 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

      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:
      prefix - incoming namespace
      Returns:
      NodePointer for namespace
    • remove

      public void remove()
      Description copied from class: NodePointer
      Remove the node of the object graph this pointer points to.
      Overrides:
      remove in class NodePointer
    • 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 test)
      Description copied from class: NodePointer
      Checks if this Pointer matches the supplied NodeTest.
      Overrides:
      testNode in class NodePointer
      Parameters:
      test - the NodeTest to execute
      Returns:
      true if a match