org.apache.xerces.dom
public class NamedNodeMapImpl extends Object implements NamedNodeMap, Serializable
Only one Node may be stored per name; attempting to store another will replace the previous value.
NOTE: The "primary" storage key is taken from the NodeName attribute of the node. The "secondary" storage key is the namespaceURI and localName, when accessed by DOM level 2 nodes. All nodes, even DOM Level 2 nodes are stored in a single Vector sorted by the primary "nodename" key.
NOTE: item()'s integer index does _not_ imply that the named nodes must be stored in an array; that's only an access method. Note too that these indices are "live"; if someone changes the map's contents, the indices associated with nodes may change.
Since: PR-DOM-Level-1-19980818.
Version: $Id: NamedNodeMapImpl.java,v 1.40 2005/03/07 23:28:40 mrglavas Exp $
UNKNOWN:
Field Summary | |
---|---|
protected static short | CHANGED |
protected short | flags |
protected static short | HASDEFAULTS |
protected Vector | nodes Nodes. |
protected NodeImpl | ownerNode |
protected static short | READONLY |
Constructor Summary | |
---|---|
protected | NamedNodeMapImpl(NodeImpl ownerNode) Constructs a named node map. |
Method Summary | |
---|---|
protected int | addItem(Node arg) |
protected void | cloneContent(NamedNodeMapImpl srcmap) |
NamedNodeMapImpl | cloneMap(NodeImpl ownerNode)
Cloning a NamedNodeMap is a DEEP OPERATION; it always clones
all the nodes contained in the map. |
protected Vector | cloneMap(Vector list)
NON-DOM: copy content of this map into the specified vector
|
protected int | findNamePoint(String name, int start)
Subroutine: Locate the named item, or the point at which said item
should be added.
|
protected int | findNamePoint(String namespaceURI, String name) This findNamePoint is for DOM Level 2 Namespaces. |
protected Object | getItem(int index) |
int | getLength()
Report how many nodes are currently stored in this NamedNodeMap.
|
Node | getNamedItem(String name)
Retrieve a node by name.
|
protected int | getNamedItemIndex(String namespaceURI, String localName) |
Node | getNamedItemNS(String namespaceURI, String localName)
Introduced in DOM Level 2. |
Node | item(int index)
Retrieve an item from the map by 0-based index.
|
protected boolean | precedes(Node a, Node b) |
void | removeAll()
NON-DOM remove all elements from this map |
protected void | removeItem(int index)
NON-DOM: Remove attribute at specified index |
Node | removeNamedItem(String name) |
Node | removeNamedItemNS(String namespaceURI, String name)
Introduced in DOM Level 2. |
Node | setNamedItem(Node arg)
Adds a node using its nodeName attribute.
|
Node | setNamedItemNS(Node arg)
Adds a node using its namespaceURI and localName. |
Parameters: list Vector to copy information into.
Returns: A copy of this node named map
Parameters: name Name of a node to look up.
Returns: If positive or zero, the index of the found item. If negative, index of the appropriate point at which to insert the item, encoded as -1-index and hence reconvertable by subtracting it from -1. (Encoding because I don't want to recompare the strings but don't want to burn bytes on a datatype to hold a flagged value.)
Parameters: name Name of a node to look up.
Returns: the Node (of unspecified sub-class) stored with that name, or null if no value has been assigned to that name.
Retrieves a node specified by local name and namespace URI.
Parameters: namespaceURI The namespace URI of the node to retrieve. When it is null or an empty string, this method behaves like getNamedItem. localName The local name of the node to retrieve.
Returns: Node A Node (of any type) with the specified name, or null if the specified name did not identify any node in the map.
Parameters: index Which item to retrieve. Note that indices are just an enumeration of the current contents; they aren't guaranteed to be stable, nor do they imply any promises about the order of the NamedNodeMap's contents. In other words, DO NOT assume either that index(i) will always refer to the same entry, or that there is any stable ordering of entries... and be prepared for double-reporting or skips as insertion and deletion occur.
Returns: the node which currenly has the specified index, or null if index is greater than or equal to getLength().
Removes a node specified by local name and namespace URI.
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.
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.
Parameters: arg A node to store in a named node map. The node will later be accessible using the value of the namespaceURI and localName attribute of the node. If a node with those namespace URI and local name is already present in the map, it is replaced by the new one.
Returns: If the new Node replaces an existing node the replaced Node is returned, otherwise null is returned.
Throws: org.w3c.dom.DOMException The exception description.
See Also: org.w3c.dom.NamedNodeMap#setNamedItem
Parameters: arg A node to store in a named node map. The node will later be accessible using the value of the namespaceURI and localName attribute of the node. If a node with those namespace URI and local name is already present in the map, it is replaced by the new one.
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