Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/htmlparser/visitors/ObjectFindingVisitor.java


1   // $Header: /home/cvs/jakarta-jmeter/src/htmlparser/org/htmlparser/visitors/ObjectFindingVisitor.java,v 1.2 2004/02/11 02:16:59 woolfel Exp $
2   /*
3    * ====================================================================
4    * Copyright 2002-2004 The Apache Software Foundation.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   * 
18   */
19  
20  // The developers of JMeter and Apache are greatful to the developers
21  // of HTMLParser for giving Apache Software Foundation a non-exclusive
22  // license. The performance benefits of HTMLParser are clear and the
23  // users of JMeter will benefit from the hard work the HTMLParser
24  // team. For detailed information about HTMLParser, the project is
25  // hosted on sourceforge at http://htmlparser.sourceforge.net/.
26  //
27  // HTMLParser was originally created by Somik Raha in 2000. Since then
28  // a healthy community of users has formed and helped refine the
29  // design so that it is able to tackle the difficult task of parsing
30  // dirty HTML. Derrick Oswald is the current lead developer and was kind
31  // enough to assist JMeter.
32  //
33  // contributed by Joshua Kerievsky
34  
35  package org.htmlparser.visitors;
36  
37  import org.htmlparser.Node;
38  import org.htmlparser.tags.Tag;
39  import org.htmlparser.util.NodeList;
40  
41  public class ObjectFindingVisitor extends NodeVisitor
42  {
43      private Class classTypeToFind;
44      private int count = 0;
45      private NodeList tags;
46  
47      public ObjectFindingVisitor(Class classTypeToFind)
48      {
49          this(classTypeToFind, false);
50      }
51  
52      public ObjectFindingVisitor(Class classTypeToFind, boolean recurse)
53      {
54          super(recurse);
55          this.classTypeToFind = classTypeToFind;
56          this.tags = new NodeList();
57      }
58  
59      public int getCount()
60      {
61          return count;
62      }
63  
64      public void visitTag(Tag tag)
65      {
66          if (tag.getClass().getName().equals(classTypeToFind.getName()))
67          {
68              count++;
69              tags.add(tag);
70          }
71      }
72  
73      public Node[] getTags()
74      {
75          return tags.toNodeArray();
76      }
77  }