com.atlassian.plugin.osgi.factory
Class OsgiPluginFactory

java.lang.Object
  extended by com.atlassian.plugin.osgi.factory.OsgiPluginFactory
All Implemented Interfaces:
PluginFactory

public class OsgiPluginFactory
extends java.lang.Object
implements PluginFactory

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


Constructor Summary
OsgiPluginFactory(java.lang.String pluginDescriptorFileName, java.util.Set<java.lang.String> applicationKeys, OsgiPersistentCache persistentCache, OsgiContainerManager osgi, PluginEventManager pluginEventManager)
           
OsgiPluginFactory(java.lang.String pluginDescriptorFileName, java.lang.String applicationKey, OsgiPersistentCache persistentCache, OsgiContainerManager osgi, PluginEventManager pluginEventManager)
           
 
Method Summary
 java.lang.String canCreate(PluginArtifact pluginArtifact)
          Determines if this factory can handle this artifact.
 Plugin create(DeploymentUnit deploymentUnit, ModuleDescriptorFactory moduleDescriptorFactory)
          Deprecated. Since 2.2.0, use create(PluginArtifact,ModuleDescriptorFactory) instead
 Plugin create(PluginArtifact pluginArtifact, ModuleDescriptorFactory moduleDescriptorFactory)
          Deploys the plugin artifact
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OsgiPluginFactory

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

OsgiPluginFactory

public OsgiPluginFactory(java.lang.String pluginDescriptorFileName,
                         java.util.Set<java.lang.String> applicationKeys,
                         OsgiPersistentCache persistentCache,
                         OsgiContainerManager osgi,
                         PluginEventManager pluginEventManager)
Method Detail

canCreate

public java.lang.String canCreate(PluginArtifact pluginArtifact)
                           throws PluginParseException
Description copied from interface: PluginFactory
Determines if this factory can handle this artifact.

Specified by:
canCreate in interface PluginFactory
Parameters:
pluginArtifact - The artifact to test
Returns:
The plugin key, null if it cannot load the plugin
Throws:
PluginParseException - If there are exceptions parsing the plugin configuration when the deployer should have been able to deploy the plugin

create

public Plugin create(DeploymentUnit deploymentUnit,
                     ModuleDescriptorFactory moduleDescriptorFactory)
              throws PluginParseException
Deprecated. Since 2.2.0, use create(PluginArtifact,ModuleDescriptorFactory) instead

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

Specified by:
create in interface PluginFactory
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.
Throws:
PluginParseException - if the plugin could not be parsed

create

public Plugin create(PluginArtifact pluginArtifact,
                     ModuleDescriptorFactory moduleDescriptorFactory)
              throws PluginParseException
Deploys the plugin artifact

Specified by:
create in interface PluginFactory
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
Since:
2.2.0


Copyright © 2009 Atlassian Pty Ltd. All Rights Reserved.