View Javadoc

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   * A registration of a host component
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  }