com.atlassian.plugin.impl
Class StaticPlugin

java.lang.Object
  extended by com.atlassian.plugin.impl.AbstractPlugin
      extended by com.atlassian.plugin.impl.StaticPlugin
All Implemented Interfaces:
Plugin, Resourced, java.lang.Comparable<Plugin>
Direct Known Subclasses:
UnloadablePlugin

public class StaticPlugin
extends AbstractPlugin


Field Summary
 
Fields inherited from interface com.atlassian.plugin.Plugin
NAME_COMPARATOR
 
Constructor Summary
StaticPlugin()
           
 
Method Summary
 java.lang.ClassLoader getClassLoader()
          Get the classloader for the plugin.
 java.net.URL getResource(java.lang.String name)
          Retrieve the URL of the resource from the plugin.
 java.io.InputStream getResourceAsStream(java.lang.String name)
          Load a given resource from the plugin.
 boolean isDeleteable()
          Should the plugin file be deleted on unistall?
 boolean isDynamicallyLoaded()
          Whether or not this plugin is loaded dynamically at runtime.
 boolean isUninstallable()
          Static plugins loaded from the classpath can't be uninstalled.
<T> java.lang.Class<T>
loadClass(java.lang.String clazz, java.lang.Class<?> callingClass)
          Get the plugin to load a specific class.
protected  void uninstallInternal()
          Perform any internal uninstallation logic.
 
Methods inherited from class com.atlassian.plugin.impl.AbstractPlugin
addModuleDescriptor, close, compareTo, containsSystemModule, disable, disableInternal, enable, enableInternal, getDateLoaded, getI18nNameKey, getKey, getLog, getModuleDescriptor, getModuleDescriptors, getModuleDescriptorsByModuleClass, getName, getPluginInformation, getPluginState, getPluginsVersion, getRequiredPlugins, getResourceDescriptor, getResourceDescriptors, getResourceDescriptors, getResourceLocation, install, installInternal, isBundledPlugin, isEnabled, isEnabledByDefault, isSystemPlugin, removeModuleDescriptor, setEnabled, setEnabledByDefault, setI18nNameKey, setKey, setName, setPluginInformation, setPluginState, setPluginsVersion, setResources, setSystemPlugin, toString, uninstall
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StaticPlugin

public StaticPlugin()
Method Detail

isUninstallable

public boolean isUninstallable()
Static plugins loaded from the classpath can't be uninstalled.

Returns:
true if this plugin can be 'uninstalled'.

loadClass

public <T> java.lang.Class<T> loadClass(java.lang.String clazz,
                                        java.lang.Class<?> callingClass)
                             throws java.lang.ClassNotFoundException
Description copied from interface: Plugin
Get the plugin to load a specific class.

Parameters:
clazz - The name of the class to be loaded
callingClass - The class calling the loading (used to help find a classloader)
Returns:
The loaded class.
Throws:
java.lang.ClassNotFoundException - if the class cannot be located.

getClassLoader

public java.lang.ClassLoader getClassLoader()
Description copied from interface: Plugin
Get the classloader for the plugin.

Returns:
The classloader used to load classes for this plugin

getResource

public java.net.URL getResource(java.lang.String name)
Description copied from interface: Plugin
Retrieve the URL of the resource from the plugin.

Parameters:
name - the name of the resource to be loaded
Returns:
The URL to the resource, or null if the resource is not found

getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String name)
Description copied from interface: Plugin
Load a given resource from the plugin. Plugins that are loaded dynamically will need to implement this in a way that loads the resource from the same context as the plugin. Static plugins can just pull them from their own classloader.

Parameters:
name - The name of the resource to be loaded.
Returns:
An InputStream for the resource, or null if the resource is not found.

isDynamicallyLoaded

public boolean isDynamicallyLoaded()
Description copied from interface: Plugin
Whether or not this plugin is loaded dynamically at runtime.

Returns:
true if this plugin is loaded dynamically at runtime.

isDeleteable

public boolean isDeleteable()
Description copied from interface: Plugin
Should the plugin file be deleted on unistall?

Returns:
true if this plugin file should be deleted on unistall.

uninstallInternal

protected void uninstallInternal()
Description copied from class: AbstractPlugin
Perform any internal uninstallation logic. Subclasses should only throw PluginException.

Overrides:
uninstallInternal in class AbstractPlugin


Copyright © 2009 Atlassian Pty Ltd. All Rights Reserved.