NamedNodeMapImpl (Xerces2 Implementation)
Date: 2018-10-17

org.apache.xerces.impl.xs.opti

## Class NamedNodeMapImpl

- java.lang.Object
- - org.apache.xerces.impl.xs.opti.NamedNodeMapImpl

- All Implemented Interfaces:
    org.w3c.dom.NamedNodeMap

      public class NamedNodeMapImpl
      extends java.lang.Object
      implements org.w3c.dom.NamedNodeMap

  Version:
    $Id: NamedNodeMapImpl.java 699892 2008-09-28 21:08:27Z mrglavas $
  Author:
    Rahul Srivastava, Sun Microsystems Inc.

  # INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NamedNodeMapImpl(org.w3c.dom.Attr[] attrs)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getLength()` The number of nodes in this map.
    `org.w3c.dom.Node` | `getNamedItem(java.lang.String name)` Retrieves a node specified by name.
    `org.w3c.dom.Node` | `getNamedItemNS(java.lang.String namespaceURI, java.lang.String localName)` Retrieves a node specified by local name and namespace URI.
    `org.w3c.dom.Node` | `item(int index)` Returns the `index`th item in the map.
    `org.w3c.dom.Node` | `removeNamedItem(java.lang.String name)` Removes a node specified by name.
    `org.w3c.dom.Node` | `removeNamedItemNS(java.lang.String namespaceURI, java.lang.String localName)` Removes a node specified by local name and namespace URI.
    `org.w3c.dom.Node` | `setNamedItem(org.w3c.dom.Node arg)` Adds a node using its `nodeName` attribute.
    `org.w3c.dom.Node` | `setNamedItemNS(org.w3c.dom.Node arg)` Adds a node using its `namespaceURI` and `localName`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### NamedNodeMapImpl

          public NamedNodeMapImpl(org.w3c.dom.Attr[] attrs)

  - ### Method Detail

    - #### getNamedItem

          public org.w3c.dom.Node getNamedItem(java.lang.String name)

      Description copied from interface: `org.w3c.dom.NamedNodeMap`
      Retrieves a node specified by name.
      Specified by:
        `getNamedItem` in interface `org.w3c.dom.NamedNodeMap`
      Parameters:
        `name` - The `nodeName` of a node to retrieve.
      Returns:
        A `Node` (of any type) with the specified `nodeName`, or `null` if it does not identify any node in this map.

    - #### item

          public org.w3c.dom.Node item(int index)

      Description copied from interface: `org.w3c.dom.NamedNodeMap`
      Returns the `index`th item in the map. If `index` is greater than or equal to the number of nodes in this map, this returns `null`.
      Specified by:
        `item` in interface `org.w3c.dom.NamedNodeMap`
      Parameters:
        `index` - Index into this map.
      Returns:
        The node at the `index`th position in the map, or `null` if that is not a valid index.

    - #### getLength

          public int getLength()

      Description copied from interface: `org.w3c.dom.NamedNodeMap`
      The number of nodes in this map. The range of valid child node indices is `0` to `length-1` inclusive.
      Specified by:
        `getLength` in interface `org.w3c.dom.NamedNodeMap`

    - #### getNamedItemNS

          public org.w3c.dom.Node getNamedItemNS(java.lang.String namespaceURI,
                                                 java.lang.String localName)

      Description copied from interface: `org.w3c.dom.NamedNodeMap`
      Retrieves a node specified by local name and namespace URI.
      Per [XML Namespaces] , applications must use the value null as the namespaceURI parameter for methods if they wish to have no namespace.
      Specified by:
        `getNamedItemNS` in interface `org.w3c.dom.NamedNodeMap`
      Parameters:
        `namespaceURI` - The namespace URI of the node to retrieve.
        `localName` - The local name of the node to retrieve.
      Returns:
        A `Node` (of any type) with the specified local name and namespace URI, or `null` if they do not identify any node in this map.

    - #### setNamedItemNS

          public org.w3c.dom.Node setNamedItemNS(org.w3c.dom.Node arg)
                                          throws org.w3c.dom.DOMException

      Description copied from interface: `org.w3c.dom.NamedNodeMap`
      Adds a node using its `namespaceURI` and `localName`. If a node with that namespace URI and that local name is already present in this map, it is replaced by the new one. Replacing a node by itself has no effect.
      Per [XML Namespaces] , applications must use the value null as the namespaceURI parameter for methods if they wish to have no namespace.
      Specified by:
        `setNamedItemNS` in interface `org.w3c.dom.NamedNodeMap`
      Parameters:
        `arg` - A node to store in this map. The node will later be accessible using the value of its `namespaceURI` and `localName` attributes.
      Returns:
        If the new `Node` replaces an existing node the replaced `Node` is returned, otherwise `null` is returned.
      Throws:
        `org.w3c.dom.DOMException` - WRONG_DOCUMENT_ERR: Raised if `arg` was created from a different document than the one that created this map.
        NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
        INUSE_ATTRIBUTE_ERR: Raised if `arg` is an `Attr` that is already an attribute of another `Element` object. The DOM user must explicitly clone `Attr` nodes to re-use them in other elements.
        HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node doesn't belong in this NamedNodeMap. Examples would include trying to insert something other than an Attr node into an Element's map of attributes, or a non-Entity node into the DocumentType's map of Entities.
        NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]).

    - #### setNamedItem

          public org.w3c.dom.Node setNamedItem(org.w3c.dom.Node arg)
                                        throws org.w3c.dom.DOMException

      Description copied from interface: `org.w3c.dom.NamedNodeMap`
      Adds a node using its `nodeName` attribute. If a node with that name is already present in this map, it is replaced by the new one. Replacing a node by itself has no effect.
      As the `nodeName` attribute is used to derive the name which the node must be stored under, multiple nodes of certain types (those that have a "special" string value) cannot be stored as the names would clash. This is seen as preferable to allowing nodes to be aliased.
      Specified by:
        `setNamedItem` in interface `org.w3c.dom.NamedNodeMap`
      Parameters:
        `arg` - A node to store in this map. The node will later be accessible using the value of its `nodeName` attribute.
      Returns:
        If the new `Node` replaces an existing node the replaced `Node` is returned, otherwise `null` is returned.
      Throws:
        `org.w3c.dom.DOMException` - WRONG_DOCUMENT_ERR: Raised if `arg` was created from a different document than the one that created this map.
        NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
        INUSE_ATTRIBUTE_ERR: Raised if `arg` is an `Attr` that is already an attribute of another `Element` object. The DOM user must explicitly clone `Attr` nodes to re-use them in other elements.
        HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node doesn't belong in this NamedNodeMap. Examples would include trying to insert something other than an Attr node into an Element's map of attributes, or a non-Entity node into the DocumentType's map of Entities.

    - #### removeNamedItem

          public org.w3c.dom.Node removeNamedItem(java.lang.String name)
                                           throws org.w3c.dom.DOMException

      Description copied from interface: `org.w3c.dom.NamedNodeMap`
      Removes a node specified by name. When this map contains the attributes attached to an element, if the removed attribute is known to have a default value, an attribute immediately appears containing the default value as well as the corresponding namespace URI, local name, and prefix when applicable.
      Specified by:
        `removeNamedItem` in interface `org.w3c.dom.NamedNodeMap`
      Parameters:
        `name` - The `nodeName` of the node to remove.
      Returns:
        The node removed from this map if a node with such a name exists.
      Throws:
        `org.w3c.dom.DOMException` - NOT_FOUND_ERR: Raised if there is no node named `name` in this map.
        NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.

    - #### removeNamedItemNS

          public org.w3c.dom.Node removeNamedItemNS(java.lang.String namespaceURI,
                                                    java.lang.String localName)
                                             throws org.w3c.dom.DOMException

      Description copied from interface: `org.w3c.dom.NamedNodeMap`
      Removes a node specified by local name and namespace URI. A removed attribute may be known to have a default value when this map contains the attributes attached to an element, as returned by the attributes attribute of the `Node` interface. If so, an attribute immediately appears containing the default value as well as the corresponding namespace URI, local name, and prefix when applicable.
      Per [XML Namespaces] , applications must use the value null as the namespaceURI parameter for methods if they wish to have no namespace.
      Specified by:
        `removeNamedItemNS` in interface `org.w3c.dom.NamedNodeMap`
      Parameters:
        `namespaceURI` - The namespace URI of the node to remove.
        `localName` - The local name of the node to remove.
      Returns:
        The node removed from this map if a node with such a local name and namespace URI exists.
      Throws:
        `org.w3c.dom.DOMException` - NOT_FOUND_ERR: Raised if there is no node with the specified `namespaceURI` and `localName` in this map.
        NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
        NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]).

Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.