public abstract class AbstractPlugin extends Object implements Plugin, Comparable<Plugin>
NAME_COMPARATOR, VERSION_1, VERSION_2, VERSION_3| Constructor and Description |
|---|
AbstractPlugin() |
| Modifier and Type | Method and Description |
|---|---|
void |
addModuleDescriptor(ModuleDescriptor<?> moduleDescriptor) |
void |
close()
Free any resources held by this plugin.
|
protected boolean |
compareAndSetPluginState(PluginState requiredExistingState,
PluginState desiredState)
Only sets the plugin state if it is in the expected state.
|
int |
compareTo(Plugin otherPlugin)
Compares this Plugin to another Plugin for order.
|
boolean |
containsSystemModule() |
void |
disable()
Disables the plugin.
|
protected void |
disableInternal()
Perform any internal disabling logic.
|
void |
enable()
Enables the plugin.
|
protected PluginState |
enableInternal()
Perform any internal enabling logic.
|
Set<String> |
getActivePermissions() |
Date |
getDateInstalled()
The date this plugin was installed into the system, is the same as the loaded date for non artifact backed plugins
|
Date |
getDateLoaded()
The date this plugin was loaded into the system.
|
String |
getI18nNameKey()
Returns the i18nKey used to get an internationalised name for this plugin.
|
InstallationMode |
getInstallationMode()
Gets the installation mode
|
String |
getKey() |
protected org.slf4j.Logger |
getLog() |
ModuleDescriptor<?> |
getModuleDescriptor(String key)
Get the
ModuleDescriptor for a particular key. |
Collection<ModuleDescriptor<?>> |
getModuleDescriptors()
Returns the module descriptors for this plugin
|
<T> List<ModuleDescriptor<T>> |
getModuleDescriptorsByModuleClass(Class<T> aClass)
Get the
descriptors whose module class implements or is assignable from the supplied Class. |
String |
getName()
Returns the non-localised name of this plugin if defined.
|
PluginInformation |
getPluginInformation() |
PluginState |
getPluginState()
Returns this plugin's current state.
|
int |
getPluginsVersion()
Gets the version of the plugins system to handle this plugin
|
Set<String> |
getRequiredPlugins() |
ResourceDescriptor |
getResourceDescriptor(String type,
String name)
Deprecated.
|
List<ResourceDescriptor> |
getResourceDescriptors()
Get a
List of all the descriptors
. |
List<ResourceDescriptor> |
getResourceDescriptors(String type)
Get a list of all
descriptors of a particular
type. |
ResourceLocation |
getResourceLocation(String type,
String name)
Get a
ResourceLocation of a particular type and name. |
boolean |
hasAllPermissions() |
void |
install()
Installs the plugin into any internal, managing container.
|
protected void |
installInternal()
Perform any internal installation logic.
|
boolean |
isBundledPlugin()
Whether the plugin is a "bundled" plugin that can't be removed.
|
boolean |
isEnabled()
Deprecated.
|
boolean |
isEnabledByDefault() |
boolean |
isSystemPlugin()
Whether the plugin is a "system" plugin that shouldn't be made visible to the user.
|
protected void |
removeModuleDescriptor(String key) |
void |
setEnabled(boolean enabled)
Deprecated.
|
void |
setEnabledByDefault(boolean enabledByDefault) |
void |
setI18nNameKey(String i18nNameKey)
Sets the i18nKey used to get an internationalised name for this plugin.
|
void |
setKey(String key) |
void |
setName(String name)
Sets the non-localised name of this plugin.
|
void |
setPluginInformation(PluginInformation pluginInformation) |
protected void |
setPluginState(PluginState state) |
void |
setPluginsVersion(int pluginsVersion)
Sets the version of the plugins system
|
void |
setResources(Resourced resources) |
void |
setSystemPlugin(boolean system) |
String |
toString() |
void |
uninstall()
Uninstalls the plugin from any internal container.
|
protected void |
uninstallInternal()
Perform any internal uninstallation logic.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetClassLoader, getResource, getResourceAsStream, isDeleteable, isDynamicallyLoaded, isUninstallable, loadClasspublic String getName()
Plugin This corresponds to the value of the name field in the plugin's XML configuration file.
You would expect a plugin developer to fill in one of either name, or i18n-name-key,
but the framework does no validation and makes no guarantees that this is the case.
getName in interface PluginPlugin.getI18nNameKey()public void setName(String name)
PluginsetName in interface Pluginname - the name.Plugin.getName()protected org.slf4j.Logger getLog()
public String getI18nNameKey()
Plugin This corresponds to the value of the i18n-name-key field in the plugin's XML configuration file.
You would expect a plugin developer to fill in one of either name, or i18n-name-key,
but the framework does no validation and makes no guarantees that this is the case.
getI18nNameKey in interface PluginPlugin.getName()public void setI18nNameKey(String i18nNameKey)
PluginsetI18nNameKey in interface Plugini18nNameKey - the i18n Name Key.Plugin.getI18nNameKey()public void addModuleDescriptor(ModuleDescriptor<?> moduleDescriptor)
addModuleDescriptor in interface Pluginprotected void removeModuleDescriptor(String key)
public Collection<ModuleDescriptor<?>> getModuleDescriptors()
getModuleDescriptors in interface Pluginpublic ModuleDescriptor<?> getModuleDescriptor(String key)
PluginModuleDescriptor for a particular key. Returns null if the plugin does not exist.
Note: The ModuleDescriptor.getModule() may throw ClassCastException if the expected type is incorrect.
getModuleDescriptor in interface Pluginkey - the String complete key of the module, in the form "org.example.plugin:module-key".ModuleDescriptor of the expected type.public <T> List<ModuleDescriptor<T>> getModuleDescriptorsByModuleClass(Class<T> aClass)
Plugindescriptors whose module class implements or is assignable from the supplied Class.
Note: The ModuleDescriptor.getModule() may throw ClassCastException if the expected type is incorrect.
Normally this method would not be supplied with anything other than Object or <?>, unless you are
confident in the super type of the module classes this Plugin provides.
getModuleDescriptorsByModuleClass in interface PluginT - The expected module type of the returned descriptors.aClass - the super class the descriptors return.List of descriptors of the expected type.public PluginState getPluginState()
PlugingetPluginState in interface Pluginprotected void setPluginState(PluginState state)
protected boolean compareAndSetPluginState(PluginState requiredExistingState, PluginState desiredState)
requiredExistingState - The expected statedesiredState - The desired statepublic boolean isEnabledByDefault()
isEnabledByDefault in interface Pluginpublic void setEnabledByDefault(boolean enabledByDefault)
setEnabledByDefault in interface Pluginpublic int getPluginsVersion()
PlugingetPluginsVersion in interface Pluginpublic void setPluginsVersion(int pluginsVersion)
PluginsetPluginsVersion in interface PluginpluginsVersion - The versionpublic PluginInformation getPluginInformation()
getPluginInformation in interface Pluginpublic void setPluginInformation(PluginInformation pluginInformation)
setPluginInformation in interface Pluginpublic void setResources(Resourced resources)
setResources in interface Pluginpublic List<ResourceDescriptor> getResourceDescriptors()
ResourcedList of all the descriptors
.
Note: since 2.2 this list must be immutable, previously modifying this list could modify the underlying list.
getResourceDescriptors in interface Resourcedpublic List<ResourceDescriptor> getResourceDescriptors(String type)
Resourceddescriptors of a particular
type.
Note: since 2.2 this list must be immutable, previously this list was modifiable but modifications would not be reflected in the underlying list.
getResourceDescriptors in interface Resourcedpublic ResourceLocation getResourceLocation(String type, String name)
ResourcedResourceLocation of a particular type and name.getResourceLocation in interface Resourced@Deprecated public ResourceDescriptor getResourceDescriptor(String type, String name)
ResourcedResourceDescriptor of a particular type and name.getResourceDescriptor in interface Resourced@Deprecated public boolean isEnabled()
public final void enable()
PluginPluginState.ENABLING or PluginState.ENABLED state. If the plugin is already in the
PluginState.ENABLING or PluginState.ENABLED state, nothing will happen.protected PluginState enableInternal() throws PluginException
PluginException.PluginState.ENABLED or PluginState.ENABLINGPluginException - If the plugin could not be enabledpublic final void disable()
PluginPluginState.DISABLED
state. If the plugin is already in the PluginState.DISABLED state, nothing will happen.protected void disableInternal()
throws PluginException
PluginException.PluginException - If the plugin could not be disabledpublic Set<String> getRequiredPlugins()
getRequiredPlugins in interface Pluginpublic final Set<String> getActivePermissions()
getActivePermissions in interface Pluginpublic final boolean hasAllPermissions()
hasAllPermissions in interface Plugintrue if the plugin has all the permissionspublic InstallationMode getInstallationMode()
PlugingetInstallationMode in interface Pluginpublic void close()
PluginPlugin.public final void install()
PluginPluginState.INSTALLED state. If the plugin is already
in the PluginState.INSTALLED state, nothing will happen.protected void installInternal()
throws PluginException
PluginException.PluginException - If the plugin could not be installedpublic final void uninstall()
PluginPluginState.UNINSTALLED state. If the plugin is already
in the PluginState.UNINSTALLED state, nothing will happen.protected void uninstallInternal()
throws PluginException
PluginException.PluginException - If the plugin could not be uninstalled@Deprecated public void setEnabled(boolean enabled)
setEnabled in interface Pluginenabled - new enabled statepublic boolean isSystemPlugin()
PluginisSystemPlugin in interface Plugintrue if this plugin is a "system" plugin.public boolean containsSystemModule()
containsSystemModule in interface Pluginpublic void setSystemPlugin(boolean system)
setSystemPlugin in interface Pluginsystem - whether the plugin is a "system" plugin that shouldn't be made visible to the user.public Date getDateLoaded()
PlugingetDateLoaded in interface Pluginpublic Date getDateInstalled()
PlugingetDateInstalled in interface Pluginpublic boolean isBundledPlugin()
PluginisBundledPlugin in interface Plugintrue if this plugin is a "bundled" plugin.public int compareTo(Plugin otherPlugin)
compareTo in interface Comparable<Plugin>otherPlugin - The plugin to be compared.VersionStringComparator,
Comparable.compareTo(T)Copyright © 2014 Atlassian. All rights reserved.