org.apache.xerces.dom

Class AttributeMap

Implemented Interfaces:
NamedNodeMap, Serializable

public class AttributeMap
extends NamedNodeMapImpl

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

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

Version:
$Id: AttributeMap.java,v 1.31 2004/11/04 20:33:37 mrglavas Exp $

Field Summary

Fields inherited from class org.apache.xerces.dom.NamedNodeMapImpl

CHANGED, HASDEFAULTS, READONLY, flags, nodes, ownerNode

Constructor Summary

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(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(String namespaceURI, 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.
protected Node
removeItem(Node item, boolean addDefault)
NON-DOM: Remove the node object NOTE: Specifically removes THIS NODE -- not the node with this name, nor the node with these contents.
Node
removeNamedItem(String name)
Node
removeNamedItemNS(String namespaceURI, 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

addItem, cloneContent, cloneMap, cloneMap, findNamePoint, findNamePoint, getItem, getLength, getNamedItem, getNamedItemIndex, getNamedItemNS, item, precedes, removeAll, removeItem, removeNamedItem, removeNamedItemNS, setNamedItem, setNamedItemNS

Constructor Details

AttributeMap

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

Method Details

cloneContent

protected void cloneContent(NamedNodeMapImpl srcmap)
Override parent's method to set the ownerNode correctly
Overrides:
cloneContent in interface NamedNodeMapImpl

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 interface NamedNodeMapImpl

internalRemoveNamedItem

protected final Node internalRemoveNamedItem(String name,
                                             boolean raiseEx)
Internal removeNamedItem method allowing to specify whether an exception must be thrown if the specified name is not found.

internalRemoveNamedItemNS

protected final Node internalRemoveNamedItemNS(String namespaceURI,
                                               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.

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.

removeItem

protected Node removeItem(Node item,
                          boolean addDefault)
            throws DOMException
NON-DOM: Remove the node object NOTE: Specifically removes THIS NODE -- not the node with this name, nor the node with these contents. If node does not belong to this named node map, we throw a DOMException.
Parameters:
item - The node to remove
addDefault - true -- magically add default attribute
Returns:
Removed node

removeNamedItem

public Node removeNamedItem(String name)
            throws DOMException
Overrides:
removeNamedItem in interface NamedNodeMapImpl

removeNamedItemNS

public Node removeNamedItemNS(String namespaceURI,
                              String name)
            throws DOMException
Introduced in DOM Level 2.

Removes an attribute specified by local name and namespace URI.

Overrides:
removeNamedItemNS in interface NamedNodeMapImpl
Parameters:
namespaceURI - The namespace URI of the node to remove. When it is null or an empty string, this method behaves like removeNamedItem.
Returns:
Node The node removed from the map if a node with such a local name and namespace URI exists.

setNamedItem

public Node setNamedItem(Node arg)
            throws DOMException
Adds an attribute using its nodeName attribute.
Overrides:
setNamedItem in interface 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.
See Also:
org.w3c.dom.NamedNodeMap.setNamedItem

setNamedItemNS

public Node setNamedItemNS(Node arg)
            throws DOMException
Adds an attribute using its namespaceURI and localName.
Overrides:
setNamedItemNS in interface 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:
org.w3c.dom.NamedNodeMap.setNamedItem

Copyright B) 1999-2005 Apache XML Project. All Rights Reserved.