1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.uruma.component.factory.desc;
17
18 import java.io.InputStream;
19 import java.net.URL;
20
21 import org.seasar.uruma.util.resource.ResourceHandler;
22 import org.seasar.uruma.util.resource.ResourceTraverser;
23 import org.seasar.uruma.util.resource.ResourceTraverserFactory;
24 import org.seasar.uruma.util.resource.impl.ExtResourceFilter;
25
26
27
28
29
30
31 public class ComponentDescriptorFinder implements ResourceHandler {
32 public void findComponentDescriptors(final ClassLoader loader) {
33 URL root = loader.getResource("");
34 URL origin = loader.getResource("components");
35 ResourceTraverser traverser = ResourceTraverserFactory
36 .getResourceTraverser(origin);
37 ExtResourceFilter filter = new ExtResourceFilter("ucd");
38 traverser.traverse(root, origin, this, filter);
39 }
40
41 public void handle(final String rootPath, final String path,
42 final InputStream is) {
43 System.out.println(rootPath + " " + path);
44 }
45
46 public static void main(final String[] args) {
47 ComponentDescriptorFinder finder = new ComponentDescriptorFinder();
48 finder.findComponentDescriptors(finder.getClass().getClassLoader());
49 }
50
51 }