com.atlassian.plugin.factories
Interface PluginFactory

All Known Implementing Classes:
LegacyDynamicPluginFactory, XmlDynamicPluginFactory

public interface PluginFactory

Creates the plugin artifact and deploys it into the appropriate plugin management system

Since:
2.0.0

Method Summary
 java.lang.String canCreate(PluginArtifact pluginArtifact)
          Determines if this factory can handle this artifact.
 Plugin create(DeploymentUnit deploymentUnit, ModuleDescriptorFactory moduleDescriptorFactory)
          Deploys the deployment unit by instantiating the plugin and configuring it.
 

Method Detail

canCreate

java.lang.String canCreate(PluginArtifact pluginArtifact)
                           throws PluginParseException
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
Throws:
PluginParseException - If there are exceptions parsing the plugin configuration when the deployer should have been able to deploy the plugin

create

Plugin create(DeploymentUnit deploymentUnit,
              ModuleDescriptorFactory moduleDescriptorFactory)
              throws PluginParseException
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.
Throws:
PluginParseException - if the plugin could not be parsed


Copyright © 2008 Atlassian Pty Ltd. All Rights Reserved.