## org.apache.xerces.dom
Class AttributeMap

    java.lang.Object
      |
      +--org.apache.xerces.dom.NamedNodeMapImpl
            |
            +--org.apache.xerces.dom.AttributeMap

public class AttributeMap
extends NamedNodeMapImpl

AttributeMap inherits from NamedNodeMapImpl and extends it to deal with the specifics of storing attributes. These are:

- managing ownership of attribute nodes
- managing default attributes
- firing mutation events

This class doesn't directly support mutation events, however, it notifies the document when mutations are performed so that the document class do so.

See Also:
  Serialized Form

Fields inherited from class org.apache.xerces.dom.NamedNodeMapImpl
`CHANGED, flags, HASDEFAULTS, nodes, ownerNode, READONLY`

Constructor Summary
`protected` `AttributeMap(ElementImpl ownerNode, NamedNodeMapImpl defaults)` Constructs a named node map.

Method Summary
`protected void` `cloneContent(NamedNodeMapImpl srcmap)` Override parent's method to set the ownerNode correctly
`NamedNodeMapImpl` `cloneMap(NodeImpl ownerNode)` Cloning a NamedNodeMap is a DEEP OPERATION; it always clones all the nodes contained in the map.
`protected Node` `internalRemoveNamedItem(java.lang.String name, boolean raiseEx)` Internal removeNamedItem method allowing to specify whether an exception must be thrown if the specified name is not found.
`protected Node` `internalRemoveNamedItemNS(java.lang.String namespaceURI, java.lang.String name, boolean raiseEx)` Internal removeNamedItemNS method allowing to specify whether an exception must be thrown if the specified local name and namespace URI is not found.
`protected void` `reconcileDefaults(NamedNodeMapImpl defaults)` Get this AttributeMap in sync with the given "defaults" map.
`Node` `removeNamedItem(java.lang.String name)` Removes a node specified by name.
`Node` `removeNamedItemNS(java.lang.String namespaceURI, java.lang.String name)` Introduced in DOM Level 2.
`Node` `setNamedItem(Node arg)` Adds an attribute using its nodeName attribute.
`Node` `setNamedItemNS(Node arg)` Adds an attribute using its namespaceURI and localName.

Methods inherited from class org.apache.xerces.dom.NamedNodeMapImpl
`findNamePoint, findNamePoint, getLength, getNamedItem, getNamedItemNS, item`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AttributeMap

    protected AttributeMap(ElementImpl ownerNode,
                           NamedNodeMapImpl defaults)

  Constructs a named node map.

Method Detail

### setNamedItem

    public Node setNamedItem(Node arg)
                      throws DOMException

  Adds an attribute using its nodeName attribute.
  Overrides:
    setNamedItem in class NamedNodeMapImpl
  Parameters:
    `arg` - An Attr node to store in this map.
  Returns:
    If the new Node replaces an existing node the replaced Node is returned, otherwise null is returned.
  Throws:
    DOMException - The exception description.
  See Also:
    `NamedNodeMap.setNamedItem(org.w3c.dom.Node)`

### setNamedItemNS

    public Node setNamedItemNS(Node arg)
                        throws DOMException

  Adds an attribute using its namespaceURI and localName.
  Overrides:
    setNamedItemNS in class NamedNodeMapImpl
  Parameters:
    `arg` - A node to store in a named node map.
  Returns:
    If the new Node replaces an existing node the replaced Node is returned, otherwise null is returned.
  See Also:
    `NamedNodeMap.setNamedItem(org.w3c.dom.Node)`

### removeNamedItem

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

  Description copied from interface: 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.
  Overrides:
    removeNamedItem in class NamedNodeMapImpl
  Tags copied from interface: NamedNodeMap
  Parameters:
    `nameThe` - `nodeName` of the node to remove.
  Returns:
    The node removed from this map if a node with such a name exists.
  Throws:
    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.

### internalRemoveNamedItem

    protected final Node internalRemoveNamedItem(java.lang.String name,
                                                 boolean raiseEx)

  Internal removeNamedItem method allowing to specify whether an exception must be thrown if the specified name is not found.

### removeNamedItemNS

    public Node removeNamedItemNS(java.lang.String namespaceURI,
                                  java.lang.String name)
                           throws DOMException

  Introduced in DOM Level 2.

  Removes an attribute specified by local name and namespace URI.

  Overrides:
    removeNamedItemNS in class NamedNodeMapImpl
  Parameters:
    `namespaceURI` - The namespace URI of the node to remove. When it is null or an empty string, this method behaves like removeNamedItem.
    `The` - local name of the node to remove. If the removed attribute is known to have a default value, an attribute immediately appears containing the default value.
  Returns:
    Node The node removed from the map if a node with such a local name and namespace URI exists.
  Throws:
    NOT_FOUND_ERR: - Raised if there is no node named name in the map.

### internalRemoveNamedItemNS

    protected final Node internalRemoveNamedItemNS(java.lang.String namespaceURI,
                                                   java.lang.String name,
                                                   boolean raiseEx)

  Internal removeNamedItemNS method allowing to specify whether an exception must be thrown if the specified local name and namespace URI is not found.

### cloneMap

    public NamedNodeMapImpl cloneMap(NodeImpl ownerNode)

  Cloning a NamedNodeMap is a DEEP OPERATION; it always clones all the nodes contained in the map.
  Overrides:
    cloneMap in class NamedNodeMapImpl

### cloneContent

    protected void cloneContent(NamedNodeMapImpl srcmap)

  Override parent's method to set the ownerNode correctly
  Overrides:
    cloneContent in class NamedNodeMapImpl

### reconcileDefaults

    protected void reconcileDefaults(NamedNodeMapImpl defaults)

  Get this AttributeMap in sync with the given "defaults" map.
  Parameters:
    `defaults` - The default attributes map to sync with.

Copyright © 1999-2001 Apache XML Project. All Rights Reserved.