Package org.apache.nutch.plugin
Class PluginDescriptor
- java.lang.Object
-
- org.apache.nutch.plugin.PluginDescriptor
-
public class PluginDescriptor extends Object
ThePluginDescriptor
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 aboutPlugin
,ExtensionPoint
andExtension
. To provide access to the meta data of a plugin via a descriptor allow a lazy loading mechanism.
-
-
Constructor Summary
Constructors Constructor Description PluginDescriptor(String pId, String pVersion, String pName, String pProviderName, String pPluginclazz, String pPath, Configuration conf)
Overloaded constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDependency(String pId)
Adds a dependencyvoid
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 non-exported library with a relative path to the plugin directory.PluginClassLoader
getClassLoader()
Returns a cached classloader for a plugin.String[]
getDependencies()
Returns a array of plugin ids.URL[]
getExportedLibUrls()
Returns a array of exported libs as URLsExtension[]
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 abstarctPlugin
class.String
getPluginId()
Returns the unique identifier of the plug-in ornull
.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()
-
-
-
Constructor Detail
-
PluginDescriptor
public PluginDescriptor(String pId, String pVersion, String pName, String pProviderName, String pPluginclazz, String pPath, Configuration conf)
Overloaded constructor- Parameters:
pId
- set plugin IDpVersion
- set plugin versionpName
- set plugin namepProviderName
- set plugin provider namepPluginclazz
- set plugin ClasspPath
- set plugin pathconf
- a populatedConfiguration
-
-
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 abstarctPlugin
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 ornull
.- Returns:
- String
-
getExtensions
public Extension[] getExtensions()
Returns an array of extensions.- Returns:
- Exception[]
-
addExtension
public void addExtension(Extension pExtension)
Adds a extension.- Parameters:
pExtension
- aExtension
-
addExtensionPoint
public void addExtensionPoint(ExtensionPoint extensionPoint)
Adds a extension point.- Parameters:
extensionPoint
- aExtensionPoint
-
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. We automatically escape characters that are illegal in URLs. It is recommended that code converts an abstract pathname into aURL
by first converting it into aURI
, via theURL.toURI()
method, and then converting theURI
into aURL
via theURI.toURL()
method.- Parameters:
pLibPath
- path to a exported library relative to the plugin directory- Throws:
MalformedURLException
- if the pLibPath is not a relative path (to the plugin directory)
-
getPluginPath
public String getPluginPath()
Returns the directory path of the plugin.- Returns:
- String
-
getExportedLibUrls
public URL[] getExportedLibUrls()
Returns a array of exported libs as URLs- Returns:
- URL[]
-
addNotExportedLibRelative
public void addNotExportedLibRelative(String pLibPath) throws MalformedURLException
Adds a non-exported library with a relative path to the plugin directory. We automatically escape characters that are illegal in URLs. It is recommended that code converts an abstract pathname into aURL
by first converting it into aURI
, via theURL.toURI()
method, and then converting theURI
into aURL
via theURI.toURL()
method.- Parameters:
pLibPath
- path to a exported library relative to the plugin directory- Throws:
MalformedURLException
- if the pLibPath is not a relative path (to the plugin directory)
-
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 known i18n file name conventions.- Parameters:
pKey
- a plugin keypLocale
- the requiredLocale
- Returns:
- a string for the given key from the
ResourceBundle
bundle or one of its parents - Throws:
IOException
- if there is an error obtaining the key
-
getProviderName
public String getProviderName()
-
getVersion
public String getVersion()
-
-