1 package com.atlassian.plugin.osgi.hostcomponents.impl;
2
3 import com.atlassian.plugin.osgi.hostcomponents.HostComponentRegistration;
4
5 import java.util.Dictionary;
6 import java.util.Hashtable;
7
8 import org.osgi.framework.ServiceRegistration;
9
10
11
12
13
14 class Registration implements HostComponentRegistration
15 {
16 private String[] mainInterfaces;
17 private Class[] mainInterfaceClasses;
18 private Object instance;
19 private Dictionary<String,String> properties = new Hashtable<String,String>();
20
21 public Registration(Class[] ifs)
22 {
23 this.mainInterfaceClasses = ifs;
24 mainInterfaces = new String[ifs.length];
25 for (int x=0; x<ifs.length; x++)
26 {
27 if (!ifs[x].isInterface())
28 throw new IllegalArgumentException("Services can only be registered against interfaces");
29
30 mainInterfaces[x] = ifs[x].getName();
31 }
32 }
33
34 public Object getInstance()
35 {
36 return instance;
37 }
38
39 public void setInstance(Object instance)
40 {
41 this.instance = instance;
42 }
43
44 public Dictionary<String, String> getProperties()
45 {
46 return properties;
47 }
48
49 public String[] getMainInterfaces()
50 {
51 return mainInterfaces;
52 }
53
54 public Class[] getMainInterfaceClasses()
55 {
56 return mainInterfaceClasses;
57 }
58
59 }