org.apache.nutch.plugin
Class Extension

java.lang.Object
  extended by org.apache.nutch.plugin.Extension

public class Extension
extends Object

An Extension is a kind of listener descriptor that will be installed on a concrete ExtensionPoint that acts as kind of Publisher.

Author:
joa23

Constructor Summary
Extension(PluginDescriptor pDescriptor, String pExtensionPoint, String pId, String pExtensionClass, Configuration conf, PluginRepository pluginRepository)
           
 
Method Summary
 void addAttribute(String pKey, String pValue)
          Adds a attribute and is only used until model creation at plugin system start up.
 String getAttribute(String pKey)
          Returns a attribute value, that is setuped in the manifest file and is definied by the extension point xml schema.
 String getClazz()
          Returns the full class name of the extension point implementation
 PluginDescriptor getDescriptor()
          return the plugin descriptor.
 Object getExtensionInstance()
          Return an instance of the extension implementatio.
 String getId()
          Return the unique id of the extension.
 String getTargetPoint()
          Returns the Id of the extension point, that is implemented by this extension.
 void setClazz(String extensionClazz)
          Sets the Class that implement the concret extension and is only used until model creation at system start up.
 void setDescriptor(PluginDescriptor pDescriptor)
          Sets the plugin descriptor and is only used until model creation at system start up.
 void setId(String extensionID)
          Sets the unique extension Id and is only used until model creation at system start up.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Extension

public Extension(PluginDescriptor pDescriptor,
                 String pExtensionPoint,
                 String pId,
                 String pExtensionClass,
                 Configuration conf,
                 PluginRepository pluginRepository)
Parameters:
pDescriptor - a plugin descriptor
pExtensionPoint - an extension porin
pId - an unique id of the plugin
Method Detail

getAttribute

public String getAttribute(String pKey)
Returns a attribute value, that is setuped in the manifest file and is definied by the extension point xml schema.

Parameters:
pKey - a key
Returns:
String a value

getClazz

public String getClazz()
Returns the full class name of the extension point implementation

Returns:
String

getId

public String getId()
Return the unique id of the extension.

Returns:
String

addAttribute

public void addAttribute(String pKey,
                         String pValue)
Adds a attribute and is only used until model creation at plugin system start up.

Parameters:
pKey - a key
pValue - a value

setClazz

public void setClazz(String extensionClazz)
Sets the Class that implement the concret extension and is only used until model creation at system start up.

Parameters:
extensionClazz - The extensionClasname to set

setId

public void setId(String extensionID)
Sets the unique extension Id and is only used until model creation at system start up.

Parameters:
extensionID - The extensionID to set

getTargetPoint

public String getTargetPoint()
Returns the Id of the extension point, that is implemented by this extension.


getExtensionInstance

public Object getExtensionInstance()
                            throws PluginRuntimeException
Return an instance of the extension implementatio. Before we create a extension instance we startup the plugin if it is not already done. The plugin instance and the extension instance use the same PluginClassLoader. Each Plugin use its own classloader. The PluginClassLoader knows only own Plugin runtime libraries setuped in the plugin manifest file and exported libraries of the depenedend plugins.

Returns:
Object An instance of the extension implementation
Throws:
PluginRuntimeException

getDescriptor

public PluginDescriptor getDescriptor()
return the plugin descriptor.

Returns:
PluginDescriptor

setDescriptor

public void setDescriptor(PluginDescriptor pDescriptor)
Sets the plugin descriptor and is only used until model creation at system start up.

Parameters:
pDescriptor -


Copyright © 2012 The Apache Software Foundation