//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QtSupport;

/**

 Objects implementing the <code>NamedNodeMap</code> interface are
 used to represent collections of nodes that can be accessed by
 name. Note that <code>NamedNodeMap</code> does not inherit from
 <code>ArrayList</code> ; <code>NamedNodeMap</code> s are not
 maintained in any particular order. Objects contained in an object
 implementing <code>NamedNodeMap</code> may also be accessed by an
 ordinal index, but this is simply to allow convenient enumeration
 of the contents of a <code>NamedNodeMap</code> , and does not
 imply that the DOM specifies an order to these Nodes.
 		@short    Objects implementing the <code>NamedNodeMap</code> interface are  used to represent collections of nodes that can be accessed by  name.

*/
public class NamedNodeMap implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected NamedNodeMap(Class dummy){}

	public NamedNodeMap() {
		newNamedNodeMap();
	}
	private native void newNamedNodeMap();
	public NamedNodeMap(NamedNodeMap other) {
		newNamedNodeMap(other);
	}
	private native void newNamedNodeMap(NamedNodeMap other);
	/**	
		 The number of nodes in the map. The range of valid child node
		 indices is 0 to <code>length-1</code> inclusive.
			     		@short    The number of nodes in the map.
	*/
	public native long length();
	/**	
		 Retrieves a node specified by name.
			@param name Name of a node to retrieve.
			     		@return A <code>Node</code> (of any type) with the specified
 name, or <code>null</code> if the specified name did not
 identify any node in the map.

		@short    Retrieves a node specified by name.
	*/
	public native Node getNamedItem(String name);
	/**	
		 Adds a node using its <code>nodeName</code> attribute.
			  As the <code>nodeName</code> 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.
			@param arg A node to store in a named node map. The node will
		 later be accessible using the value of the <code>nodeName</code>
		 attribute of the node. If a node with that name is
		 already present in the map, it is replaced by the new one.
			  NO_MODIFICATION_ALLOWED_ERR: Raised if this
		 <code>NamedNodeMap</code> is readonly.
			  INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an
		 <code>Attr</code> that is already an attribute of another
		 <code>Element</code> object. The DOM user must explicitly clone
		 <code>Attr</code> nodes to re-use them in other elements.
			     		@return If the new <code>Node</code> replaces an existing
 node with the same name the previously existing <code>Node</code>
 is returned, otherwise <code>null</code> is returned.

		@short    Adds a node using its <code>nodeName</code> attribute.
	*/
	public native Node setNamedItem(Node arg);
	/**	
		 Removes a node specified by name. If the removed node is an
		 <code>Attr</code> with a default value it is immediately
		 replaced.
			@param name The name of a node to remove.
			     		@return The node removed from the map or <code>null</code> if
 no node with such a name exists.

		@short    Removes a node specified by name.
	*/
	public native Node removeNamedItem(String name);
	/**	
		 Returns the <code>index</code> th item in the map. If
		 <code>index</code> is greater than or equal to the number of nodes
		 in the map, this returns <code>null</code> .
			@param index Index into the map.
			     		@return The node at the <code>index</code> th position in the
 <code>NamedNodeMap</code> , or <code>null</code> if that is
 not a valid index.

		@short    Returns the <code>index</code> th item in the map.
	*/
	public native Node item(long index);
	/**	
		 Introduced in DOM Level 2
			 Retrieves a node specified by local name and namespace URI. HTML-only
		 DOM implementations do not need to implement this method.
			@param namespaceURI The namespace URI of the node to retrieve.
			@param localName The local name of the node to retrieve.
				@return 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.
     
		@short    Introduced in DOM Level 2
	*/
	public native Node getNamedItemNS(String namespaceURI, String localName);
	/**	
		 Introduced in DOM Level 2
			 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.
		 HTML-only DOM implementations do not need to implement this method.
			@param arg A node to store in this map. The node will later be
		 accessible using the value of its namespaceURI and localName attributes.
			 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.
		     		@return If the new Node replaces an existing node the replaced Node is
 returned, otherwise null is returned.

		@short    Introduced in DOM Level 2
	*/
	public native Node setNamedItemNS(Node arg);
	/**	
		 Introduced in DOM Level 2
			 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.
		 HTML-only DOM implementations do not need to implement this method.
			@param namespaceURI The namespace URI of the node to remove.
			@param localName The local name of the node to remove.
			 NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
		     		@return The node removed from this map if a node with such a local name
 and namespace URI exists.

		@short    Introduced in DOM Level 2
	*/
	public native Node removeNamedItemNS(String namespaceURI, String localName);
	/**	
			 not part of the DOM
		     		@short
	*/
	// DOM::NamedNodeMapImpl* handle(); >>>> NOT CONVERTED
	public native boolean isNull();
	// DOM::NamedNodeMap* NamedNodeMap(DOM::NamedNodeMapImpl* arg1); >>>> NOT CONVERTED
}
