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

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

/**

 NodeIterators are used to step through a set of nodes, e.g. the set
 of nodes in an ArrayList, the document subtree governed by a
 particular node, the results of a query, or any other set of nodes.
 The set of nodes to be iterated is determined by the implementation
 of the NodeIterator. DOM Level 2 specifies a single NodeIterator
 implementation for document-order traversal of a document subtree.
 Instances of these iterators are created by calling
 DocumentTraversal.createNodeIterator().
  Any Iterator that returns nodes may implement the
 <code>NodeIterator</code> interface. Users and vendor libraries may also
 choose to create Iterators that implement the <code>NodeIterator</code>
 interface.
 		@short    NodeIterators are used to step through a set of nodes, e.

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

	public NodeIterator() {
		newNodeIterator();
	}
	private native void newNodeIterator();
	public NodeIterator(NodeIterator other) {
		newNodeIterator(other);
	}
	private native void newNodeIterator(NodeIterator other);
	/**	
		 The root node of the NodeIterator, as specified when it was created.
		     		@short    The root node of the NodeIterator, as specified when it was created.
	*/
	public native Node root();
	/**	
		 This attribute determines which node types are presented via the
		 iterator. The available set of constants is defined in the NodeFilter
		 interface. Nodes not accepted by whatToShow will be skipped, but their
		 children may still be considered. Note that this skip takes precedence
		 over the filter, if any.
		    		@short    This attribute determines which node types are presented via the  iterator.
	*/
	public native long whatToShow();
	/**	
		 The NodeFilter used to screen nodes.
		     		@short    The NodeFilter used to screen nodes.
	*/
	public native NodeFilter filter();
	/**	
		 The value of this flag determines whether the children of entity
		 reference nodes are visible to the iterator. If false, they and
		 their descendents will be rejected. Note that this rejection takes
		 precedence over whatToShow and the filter. Also note that this is
		 currently the only situation where NodeIterators may reject a complete
		 subtree rather than skipping individual nodes.
			 To produce a view of the document that has entity references expanded
		 and does not expose the entity reference node itself, use the whatToShow
		 flags to hide the entity reference node and set expandEntityReferences to
		 true when creating the iterator. To produce a view of the document that
		 has entity reference nodes but no entity expansion, use the whatToShow
		 flags to show the entity reference node and set expandEntityReferences to
		 false.
		     		@short    The value of this flag determines whether the children of entity  reference nodes are visible to the iterator.
	*/
	public native boolean expandEntityReferences();
	/**	
		 Returns the next node in the set and advances the position of
		 the Iterator in the set. After a NodeIterator is created, the
		 first call to nextNode() returns the first node in the set.
			     		@return The next <code>Node</code> in the set being iterated
 over, or <code>null</code> if there are no more members in
 that set.

		@short    Returns the next node in the set and advances the position of  the Iterator in the set.
	*/
	public native Node nextNode();
	/**	
		 Returns the previous node in the set and moves the position of
		 the Iterator backwards in the set.
			     		@return The previous <code>Node</code> in the set being
 iterated over, or <code>null</code> if there are no more
 members in that set.

		@short    Returns the previous node in the set and moves the position of  the Iterator backwards in the set.
	*/
	public native Node previousNode();
	/**	
		 Detaches the NodeIterator from the set which it iterated over,
		 releasing any computational resources and placing the iterator in the
		 INVALID state. After detach has been invoked, calls to nextNode or
		 previousNode will raise the exception INVALID_STATE_ERR.
		     		@short    Detaches the NodeIterator from the set which it iterated over,  releasing any computational resources and placing the iterator in the  INVALID state.
	*/
	public native void detach();
	/**	
			 not part of the DOM
		     		@short
	*/
	// DOM::NodeIteratorImpl* handle(); >>>> NOT CONVERTED
	public native boolean isNull();
	// DOM::NodeIterator* NodeIterator(DOM::NodeIteratorImpl* arg1); >>>> NOT CONVERTED
}
