com.atlassian.plugin.osgi.external
Class SingleModuleDescriptorFactory<T extends ModuleDescriptor>

java.lang.Object
  extended by com.atlassian.plugin.osgi.external.SingleModuleDescriptorFactory<T>
All Implemented Interfaces:
ModuleDescriptorFactory, ListableModuleDescriptorFactory

public class SingleModuleDescriptorFactory<T extends ModuleDescriptor>
extends Object
implements ListableModuleDescriptorFactory

A single module descriptor factory for plugins to use when they want to expose just one plugin. Uses HostContainer to optionally provide autowiring for new descriptor instances.

Since:
2.1

Constructor Summary
SingleModuleDescriptorFactory(HostContainer hostContainer, String type, Class<T> moduleDescriptorClass)
          Constructs an instance using a specific host container
 
Method Summary
 HostContainer getHostContainer()
           
 ModuleDescriptor getModuleDescriptor(String type)
           
 Class<? extends ModuleDescriptor> getModuleDescriptorClass(String type)
           
 Set<Class<? extends ModuleDescriptor>> getModuleDescriptorClasses()
           
 Iterable<String> getModuleDescriptorKeys()
           
 boolean hasModuleDescriptor(String type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SingleModuleDescriptorFactory

public SingleModuleDescriptorFactory(HostContainer hostContainer,
                                     String type,
                                     Class<T> moduleDescriptorClass)
Constructs an instance using a specific host container

Parameters:
hostContainer - The host container to use to create descriptor instances
type - The type of module
moduleDescriptorClass - The descriptor class
Since:
2.2.0
Method Detail

getModuleDescriptor

public ModuleDescriptor getModuleDescriptor(String type)
                                     throws PluginParseException,
                                            IllegalAccessException,
                                            InstantiationException,
                                            ClassNotFoundException
Specified by:
getModuleDescriptor in interface ModuleDescriptorFactory
Throws:
PluginParseException
IllegalAccessException
InstantiationException
ClassNotFoundException

hasModuleDescriptor

public boolean hasModuleDescriptor(String type)
Specified by:
hasModuleDescriptor in interface ModuleDescriptorFactory

getModuleDescriptorClass

public Class<? extends ModuleDescriptor> getModuleDescriptorClass(String type)
Specified by:
getModuleDescriptorClass in interface ModuleDescriptorFactory

getModuleDescriptorKeys

public Iterable<String> getModuleDescriptorKeys()
Specified by:
getModuleDescriptorKeys in interface ListableModuleDescriptorFactory
Returns:
the list of descriptor keys this module factory knows about.
Since:
3.0.0

getModuleDescriptorClasses

public Set<Class<? extends ModuleDescriptor>> getModuleDescriptorClasses()
Specified by:
getModuleDescriptorClasses in interface ListableModuleDescriptorFactory

getHostContainer

public HostContainer getHostContainer()


Copyright © 2015 Atlassian. All rights reserved.