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 java.io.IOException;
25 import java.io.InputStream;
26 import java.net.URL;
27 import java.util.Map;
28 import java.util.Set;
29
30 import org.osgi.framework.Bundle;
31 import org.osgi.framework.BundleContext;
32 import org.osgi.framework.InvalidSyntaxException;
33 import org.osgi.framework.ServiceReference;
34
35 public interface BundleAccessor {
36
37 String CURRENT_BUNDLE_NAME = "__bundle_name__";
38
39 Class loadClass(String name) throws ClassNotFoundException;
40
41 InputStream loadResourceAsStream(String name) throws IOException;
42
43 InputStream loadResourceFromAllBundlesAsStream(String name) throws IOException;
44
45 URL loadResourceFromAllBundles(String name) throws IOException;
46
47 Set<String> getPackagesByBundle(Bundle bundle);
48
49 Object getService(ServiceReference ref);
50
51 ServiceReference getServiceReference(String className);
52
53 ServiceReference[] getServiceReferences(String className, String params) throws InvalidSyntaxException;
54
55 public ServiceReference[] getAllServiceReferences(String className);
56
57 void addPackageFromBundle(Bundle bundle, String packageName);
58
59 void setBundleContext(BundleContext bundleContext);
60
61 void setOsgiHost(OsgiHost osgiHost);
62 }