org.java.plugin
Class Plugin

java.lang.Object
  extended by org.java.plugin.Plugin

public abstract class Plugin
extends java.lang.Object

This is base for "home" class of plug-in runtime. Using this class, plug-in code can get access to plug-in framework (manager, registry) which was loaded it. It is also used by manager during plug-in life cycle management (activation and deactivation).
Plug-in vendor may provide it's own implementation of this class if some actions should be performed during plug-in activation/deactivation. When no class specified, framework provides default "empty" implementation that does nothing when plug-in started and stopped.

Version:
$Id$

Field Summary
protected  org.apache.commons.logging.Log log
          Makes logging service available for descending classes.
 
Constructor Summary
Plugin()
           
 
Method Summary
protected abstract  void doStart()
          This method will be called once during plug-in activation before any access to any code from this plug-in.
protected abstract  void doStop()
          This method will be called once during plug-in deactivation.
 PluginDescriptor getDescriptor()
           
 Extension getExtension(java.lang.String id)
           
 ExtensionPoint getExtensionPoint(java.lang.String id)
           
 java.util.List<ExtensionPoint> getExtensionPoints()
          Returns list of all extension points defined in manifest.
 java.util.List<Extension> getExtensions()
          Returns a list of all extensions provided by this plugin.
 PluginManager getManager()
           
 java.util.List<com.google.inject.Module> getModules()
          Returns a list of modules provided by this plugin
 java.lang.ClassLoader getPluginClassLoader()
          Returns the plugins ClassLoader
 boolean isActive()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

protected final org.apache.commons.logging.Log log
Makes logging service available for descending classes.

Constructor Detail

Plugin

public Plugin()
Method Detail

getDescriptor

public final PluginDescriptor getDescriptor()
Returns:
descriptor of this plug-in

getManager

public final PluginManager getManager()
Returns:
manager which controls this plug-in

isActive

public final boolean isActive()
Returns:
true if this plug-in is in active state

doStart

protected abstract void doStart()
                         throws java.lang.Exception
This method will be called once during plug-in activation before any access to any code from this plug-in.

Throws:
java.lang.Exception - if an error has occurred during plug-in start-up

doStop

protected abstract void doStop()
                        throws java.lang.Exception
This method will be called once during plug-in deactivation. After this method call, no other code from this plug-in can be accessed, unless doStart() method will be called again (but for another instance of this class).

Throws:
java.lang.Exception - if an error has occurred during plug-in shutdown

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

getExtensions

public java.util.List<Extension> getExtensions()
Returns a list of all extensions provided by this plugin.

Returns:
extensions provided by this plugin

getExtension

public Extension getExtension(java.lang.String id)
Parameters:
id - extension ID
Returns:
extension object or null

getExtensionPoints

public java.util.List<ExtensionPoint> getExtensionPoints()
Returns list of all extension points defined in manifest.

Returns:
list of ExtensionPoint objects

getExtensionPoint

public ExtensionPoint getExtensionPoint(java.lang.String id)
Parameters:
id - extension point ID
Returns:
extension point object or null

getPluginClassLoader

public java.lang.ClassLoader getPluginClassLoader()
Returns the plugins ClassLoader

Returns:
classLoader of this Plugin

getModules

public java.util.List<com.google.inject.Module> getModules()
Returns a list of modules provided by this plugin

Returns:
modules list of modules


Copyright © 2010. All Rights Reserved.