Update of /cvsroot/htmlparser/htmlparser/src/org/htmlparser
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8914/src/org/htmlparser
Modified Files:
NodeFilter.java Parser.java
Log Message:
FilterBuilder
Index: Parser.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/Parser.java,v
retrieving revision 1.99
retrieving revision 1.100
diff -C2 -d -r1.99 -r1.100
*** Parser.java 2 Sep 2004 02:28:08 -0000 1.99
--- Parser.java 13 Feb 2005 20:36:01 -0000 1.100
***************
*** 494,518 ****
* Parse the given resource, using the filter provided.
* @param filter The filter to apply to the parsed nodes.
*/
! public void parse (NodeFilter filter) throws ParserException
{
NodeIterator e;
Node node;
! NodeList list;
! list = new NodeList ();
for (e = elements (); e.hasMoreNodes (); )
{
node = e.nextNode ();
if (null != filter)
! {
! node.collectInto (list, filter);
! for (int i = 0; i < list.size (); i++)
! System.out.println (list.elementAt (i));
! list.removeAll ();
! }
else
! System.out.println (node);
}
}
--- 494,517 ----
* Parse the given resource, using the filter provided.
* @param filter The filter to apply to the parsed nodes.
+ * @return The list of matching nodes (for a <code>null</code>
+ * filter this is all the top level nodes).
*/
! public NodeList parse (NodeFilter filter) throws ParserException
{
NodeIterator e;
Node node;
! NodeList ret;
! ret = new NodeList ();
for (e = elements (); e.hasMoreNodes (); )
{
node = e.nextNode ();
if (null != filter)
! node.collectInto (ret, filter);
else
! ret.add (node);
}
+
+ return (ret);
}
***************
*** 643,647 ****
}
parser.setURL (args[0]);
! parser.parse (filter);
}
catch (ParserException e)
--- 642,646 ----
}
parser.setURL (args[0]);
! System.out.println (parser.parse (filter));
}
catch (ParserException e)
Index: NodeFilter.java
===================================================================
RCS file: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/NodeFilter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** NodeFilter.java 8 Nov 2003 21:30:56 -0000 1.1
--- NodeFilter.java 13 Feb 2005 20:36:01 -0000 1.2
***************
*** 27,34 ****
--- 27,39 ----
package org.htmlparser;
+ import java.io.Serializable;
+
/**
* Implement this interface to select particular nodes.
*/
public interface NodeFilter
+ extends
+ Serializable,
+ Cloneable
{
/**
|