public class

OsgiPluginFactory

extends Object
implements PluginFactory
java.lang.Object
   ↳ com.atlassian.plugin.osgi.factory.OsgiPluginFactory

Class Overview

Plugin loader that starts an OSGi container and loads plugins into it, wrapped as OSGi bundles.

Summary

Public Constructors
OsgiPluginFactory(String pluginDescriptorFileName, String applicationKey, OsgiPersistentCache persistentCache, OsgiContainerManager osgi, PluginEventManager pluginEventManager)
OsgiPluginFactory(String pluginDescriptorFileName, Set<String> applicationKeys, OsgiPersistentCache persistentCache, OsgiContainerManager osgi, PluginEventManager pluginEventManager)
Public Methods
String canCreate(PluginArtifact pluginArtifact)
Determines if this factory can handle this artifact.
Plugin create(PluginArtifact pluginArtifact, ModuleDescriptorFactory moduleDescriptorFactory)
Deploys the plugin artifact
Plugin create(DeploymentUnit deploymentUnit, ModuleDescriptorFactory moduleDescriptorFactory)
This method is deprecated. Since 2.2.0, use create(PluginArtifact, ModuleDescriptorFactory) instead
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.plugin.factories.PluginFactory

Public Constructors

public OsgiPluginFactory (String pluginDescriptorFileName, String applicationKey, OsgiPersistentCache persistentCache, OsgiContainerManager osgi, PluginEventManager pluginEventManager)

public OsgiPluginFactory (String pluginDescriptorFileName, Set<String> applicationKeys, OsgiPersistentCache persistentCache, OsgiContainerManager osgi, PluginEventManager pluginEventManager)

Public Methods

public String canCreate (PluginArtifact pluginArtifact)

Determines if this factory can handle this artifact.

Parameters
pluginArtifact The artifact to test
Returns
  • The plugin key, null if it cannot load the plugin

public Plugin create (PluginArtifact pluginArtifact, ModuleDescriptorFactory moduleDescriptorFactory)

Deploys the plugin artifact

Parameters
pluginArtifact the plugin artifact to deploy
moduleDescriptorFactory The factory for plugin modules
Returns
  • The instantiated and populated plugin
Throws
PluginParseException If the descriptor cannot be parsed

public Plugin create (DeploymentUnit deploymentUnit, ModuleDescriptorFactory moduleDescriptorFactory)

This method is deprecated.
Since 2.2.0, use create(PluginArtifact, ModuleDescriptorFactory) instead

Deploys the deployment unit by instantiating the plugin and configuring it. Should only be called if the respective canCreate(PluginArtifact) call returned the plugin key

Parameters
deploymentUnit the unit to deploy
moduleDescriptorFactory the factory for the module descriptors
Returns
  • the plugin loaded from the deployment unit, or an UnloadablePlugin instance if loading fails.