com.atlassian.jira.plugin
Interface ComponentClassManager


public interface ComponentClassManager

Provides methods to help load and instantiate classes that can handle OSGi plugins with their ClassLoaders and Components that don't live in Pico Container.

Since:
v4.0

Method Summary
<T> Class<T>
loadClass(String className)
          Load a class from Jira core, or a plugin including plugins that are not enabled.
<T> T
newInstance(String className)
          Instantiates the named class using OSGi ClassLoaders and Pico/Spring injection as appropriate.
<T> T
newInstanceFromPlugin(Class<T> clazz, com.atlassian.plugin.Plugin plugin)
          Instantiates the named class by directly using the plugin the class was loaded from and its autowiring strategy.
 

Method Detail

newInstance

<T> T newInstance(String className)
              throws ClassNotFoundException
Instantiates the named class using OSGi ClassLoaders and Pico/Spring injection as appropriate.

Parameters:
className - the name of the class to instantiate.
Returns:
the instance of the requested class.
Throws:
ClassNotFoundException - if the given className was not able to be loaded.

newInstanceFromPlugin

<T> T newInstanceFromPlugin(Class<T> clazz,
                            com.atlassian.plugin.Plugin plugin)
Instantiates the named class by directly using the plugin the class was loaded from and its autowiring strategy.

Parameters:
clazz - the class to instantiate
plugin - the plugin in which the class was loaded from
Returns:
the instance of the requested class.
See Also:
newInstance(String)

loadClass

<T> Class<T> loadClass(String className)
                   throws ClassNotFoundException
Load a class from Jira core, or a plugin including plugins that are not enabled.

Type Parameters:
T - The Class type.
Parameters:
className - Fully qualified class name.
Returns:
the loaded Class of type T.
Throws:
ClassNotFoundException - if the given className was not able to be loaded.


Copyright © 2002-2013 Atlassian. All Rights Reserved.