org.apache.nutch.plugin
Class PluginDescriptor

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

public class PluginDescriptor
extends Object

The PluginDescriptor provide access to all meta information of a nutch-plugin, as well to the internationalizable resources and the plugin own classloader. There are meta information about Plugin, ExtensionPoint and Extension. To provide access to the meta data of a plugin via a descriptor allow a lazy loading mechanism.

Author:
joa23

Field Summary
static org.apache.commons.logging.Log LOG
           
 
Constructor Summary
PluginDescriptor(String pId, String pVersion, String pName, String pProviderName, String pPluginclazz, String pPath, Configuration conf)
          Constructor
 
Method Summary
 void addDependency(String pId)
          Adds a dependency
 void addExportedLibRelative(String pLibPath)
          Adds a exported library with a relative path to the plugin directory.
 void addExtension(Extension pExtension)
          Adds a extension.
 void addExtensionPoint(ExtensionPoint extensionPoint)
          Adds a extension point.
 void addNotExportedLibRelative(String pLibPath)
          Adds a not exported library with a plugin directory relative path.
 PluginClassLoader getClassLoader()
          Returns a cached classloader for a plugin.
 String[] getDependencies()
          Returns a array of plugin ids.
 URL[] getExportedLibUrls()
          Returns a array exported librareis as URLs
 Extension[] getExtensions()
          Returns an array of extensions.
 ExtensionPoint[] getExtenstionPoints()
          Returns a array of extension points.
 String getName()
          Returns the name of the plugin.
 URL[] getNotExportedLibUrls()
          Returns a array of libraries as URLs that are not exported by the plugin.
 String getPluginClass()
          Returns the fully qualified name of the class which implements the abstarct Plugin class.
 String getPluginId()
          Returns the unique identifier of the plug-in or null.
 String getPluginPath()
          Returns the directory path of the plugin.
 String getProviderName()
           
 String getResourceString(String pKey, Locale pLocale)
          Returns a I18N'd resource string.
 String getVersion()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

public static final org.apache.commons.logging.Log LOG
Constructor Detail

PluginDescriptor

public PluginDescriptor(String pId,
                        String pVersion,
                        String pName,
                        String pProviderName,
                        String pPluginclazz,
                        String pPath,
                        Configuration conf)
Constructor

Parameters:
pId -
pVersion -
pName -
pProviderName -
pPluginclazz -
pPath -
Method Detail

getName

public String getName()
Returns the name of the plugin.

Returns:
String

getPluginClass

public String getPluginClass()
Returns the fully qualified name of the class which implements the abstarct Plugin class.

Returns:
the name of this plug-in's runtime class or null.

getPluginId

public String getPluginId()
Returns the unique identifier of the plug-in or null.

Returns:
String

getExtensions

public Extension[] getExtensions()
Returns an array of extensions.

Returns:
Exception[]

addExtension

public void addExtension(Extension pExtension)
Adds a extension.

Parameters:
pExtension -

addExtensionPoint

public void addExtensionPoint(ExtensionPoint extensionPoint)
Adds a extension point.

Parameters:
extensionPoint -

getExtenstionPoints

public ExtensionPoint[] getExtenstionPoints()
Returns a array of extension points.

Returns:
ExtensionPoint[]

getDependencies

public String[] getDependencies()
Returns a array of plugin ids.

Returns:
String[]

addDependency

public void addDependency(String pId)
Adds a dependency

Parameters:
pId - id of the dependent plugin

addExportedLibRelative

public void addExportedLibRelative(String pLibPath)
                            throws MalformedURLException
Adds a exported library with a relative path to the plugin directory.

Parameters:
pLibPath -
Throws:
MalformedURLException

getPluginPath

public String getPluginPath()
Returns the directory path of the plugin.

Returns:
String

getExportedLibUrls

public URL[] getExportedLibUrls()
Returns a array exported librareis as URLs

Returns:
URL[]

addNotExportedLibRelative

public void addNotExportedLibRelative(String pLibPath)
                               throws MalformedURLException
Adds a not exported library with a plugin directory relative path.

Parameters:
pLibPath -
Throws:
MalformedURLException

getNotExportedLibUrls

public URL[] getNotExportedLibUrls()
Returns a array of libraries as URLs that are not exported by the plugin.

Returns:
URL[]

getClassLoader

public PluginClassLoader getClassLoader()
Returns a cached classloader for a plugin. Until classloader creation all needed libraries are collected. A classloader use as first the plugins own libraries and add then all exported libraries of dependend plugins.

Returns:
PluginClassLoader the classloader for the plugin

getResourceString

public String getResourceString(String pKey,
                                Locale pLocale)
                         throws IOException
Returns a I18N'd resource string. The resource bundles could be stored in root directory of a plugin in the well know i18n file name conventions.

Parameters:
pKey -
pLocale -
Returns:
String
Throws:
IOException

getProviderName

public String getProviderName()

getVersion

public String getVersion()


Copyright © 2007, 2012, Oracle and/or its affiliates. All rights reserved.