1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.struts2.osgi;
23
24 import com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
25
26 import java.net.URL;
27 import java.util.Enumeration;
28 import java.util.Collections;
29 import java.io.IOException;
30 import java.io.InputStream;
31
32 import org.osgi.framework.Bundle;
33
34 /***
35 * ClassLoaderInterface instance that delegates to the singleton of DefaultBundleAccessor
36 */
37 public class BundleClassLoaderInterface implements ClassLoaderInterface {
38 public Class<?> loadClass(String name) throws ClassNotFoundException {
39 return DefaultBundleAccessor.getInstance().loadClass(name);
40 }
41
42 public URL getResource(String name) {
43 return DefaultBundleAccessor.getInstance().loadResource(name, true);
44 }
45
46 public Enumeration<URL> getResources(String name) throws IOException {
47 return Collections.enumeration(DefaultBundleAccessor.getInstance().loadResources(name, true));
48 }
49
50 public InputStream getResourceAsStream(String name) throws IOException {
51 return DefaultBundleAccessor.getInstance().loadResourceAsStream(name);
52 }
53
54 public ClassLoaderInterface getParent() {
55 return null;
56 }
57 }