public interface

ComponentClassManager

com.atlassian.jira.plugin.ComponentClassManager
Known Indirect Subclasses

Class Overview

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.

Summary

Public Methods
<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, Plugin plugin)
Instantiates the named class by directly using the plugin the class was loaded from and its autowiring strategy.

Public Methods

public Class<T> loadClass (String className)

Load a class from Jira core, or a plugin including plugins that are not enabled.

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.

public T newInstance (String className)

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.

public T newInstanceFromPlugin (Class<T> clazz, 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.