KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > soto > reflect > Filter


1 package org.sapia.soto.reflect;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.HashSet JavaDoc;
5 import java.util.List JavaDoc;
6 import java.util.Set JavaDoc;
7
8
9 /**
10  * @author Yanick Duchesne
11  * <dl>
12  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
13  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
14  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
15  * </dl>
16  */

17 public class Filter {
18   private List JavaDoc _includes = new ArrayList JavaDoc();
19   private List JavaDoc _excludes = new ArrayList JavaDoc();
20
21   public Matcher createInclude() {
22     Matcher bm = new Matcher();
23     _includes.add(bm);
24
25     return bm;
26   }
27
28   public Matcher createExclude() {
29     Matcher bm = new Matcher();
30     _excludes.add(bm);
31
32     return bm;
33   }
34
35   public Set JavaDoc scanMethods(Class JavaDoc clazz) {
36     Set JavaDoc methods = new HashSet JavaDoc();
37
38     Matcher m;
39
40     for (int i = 0; i < _includes.size(); i++) {
41       m = (Matcher) _includes.get(i);
42       methods.addAll(m.scanMethods(clazz));
43     }
44
45     for (int i = 0; i < _excludes.size(); i++) {
46       m = (Matcher) _excludes.get(i);
47       methods.removeAll(m.scanMethods(clazz));
48     }
49
50     return methods;
51   }
52 }
53
Popular Tags