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

import org.trinitydesktop.qt.Qt;
import org.trinitydesktop.qt.QtSupport;

/**

 Filters are objects that know how to "filter out" nodes. If an
 Iterator or <code>TreeWalker</code> is given a filter, before it
 returns the next node, it applies the filter. If the filter says to
 accept the node, the Iterator returns it; otherwise, the Iterator
 looks for the next node and pretends that the node that was
 rejected was not there.
  The DOM does not provide any filters. Filter is just an interface
 that users can implement to provide their own filters.
  Filters do not need to know how to iterate, nor do they need to
 know anything about the data structure that is being iterated. This
 makes it very easy to write filters, since the only thing they have
 to know how to do is evaluate a single node. One filter may be used
 with a number of different kinds of Iterators, encouraging code
 reuse.
 To create your own custom NodeFilter, define a subclass of
 CustomNodeFilter which overrides the acceptNode() method and assign
 an instance of it to the NodeFilter. For more details see the
 CustomNodeFilter class
 		@short    Filters are objects that know how to "filter out" nodes.

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

	public NodeFilter() {
		newNodeFilter();
	}
	private native void newNodeFilter();
	public NodeFilter(NodeFilter other) {
		newNodeFilter(other);
	}
	private native void newNodeFilter(NodeFilter other);
	// DOM::NodeFilter* NodeFilter(DOM::NodeFilterImpl* arg1); >>>> NOT CONVERTED
	/**
		 Test whether a specified node is visible in the logical view of
		 a TreeWalker or NodeIterator. This function will be called by
		 the implementation of TreeWalker and NodeIterator; it is not
		 intended to be called directly from user code.
			@param n The node to check to see if it passes the filter or
		 not.
			     		@return a constant to determine whether the node is accepted,
 rejected, or skipped, as defined <a
 href="#Traversal-NodeFilter-acceptNode-constants"> above </a> .

		@short    Test whether a specified node is visible in the logical view of  a TreeWalker or NodeIterator.
	*/
	public native short acceptNode(Node n);
	/**
			 not part of the DOM
		     		@short
	*/
	// DOM::NodeFilterImpl* handle(); >>>> NOT CONVERTED
	public native boolean isNull();
	public native void setCustomNodeFilter(CustomNodeFilter custom);
	public native CustomNodeFilter customNodeFilter();
	public static native NodeFilter createCustom(CustomNodeFilter custom);
}
