1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.jdo.impl.enhancer.util;
19
20 import java.util.List;
21 import java.util.Iterator;
22
23 import java.io.PrintWriter;
24 import java.io.InputStream;
25
26
27
28 /***
29 * Searches resources among a set of files.
30 */
31 public class CombinedResourceLocator
32 extends ResourceLocatorBase
33 implements ResourceLocator
34 {
35 /***
36 * List of resource locators.
37 */
38 final List locators;
39
40 /***
41 * Creates an intsance.
42 */
43 public CombinedResourceLocator(PrintWriter out,
44 boolean verbose,
45 List locators)
46 {
47 super(out, verbose);
48 affirm(locators != null);
49 this.locators = locators;
50 }
51
52 /***
53 * Finds a resource with a given name.
54 */
55 public InputStream getInputStreamForResource(String resourceName)
56 {
57 affirm(resourceName != null);
58
59 for (Iterator i = locators.iterator(); i.hasNext();) {
60 final ResourceLocator locator = (ResourceLocator)i.next();
61 affirm(locator != null);
62 final InputStream stream
63 = locator.getInputStreamForResource(resourceName);
64 if (stream != null) {
65 return stream;
66 }
67 }
68 return null;
69 }
70 }