org.apache.nutch.plugin
Class PluginDescriptor
- java.lang.Object
- 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.
Field Summary
Fields Modifier and Type Field and Description static org.slf4j.Logger
LOG
Constructor Summary
Constructors Constructor and Description PluginDescriptor(String pId,
String pVersion,
String pName,
String pProviderName,
String pPluginclazz,
String pPath,
org.apache.hadoop.conf.Configuration conf)
Constructor
Method Summary
Methods Modifier and Type Method and Description 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 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 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.slf4j.Logger LOG
Constructor Detail
-
PluginDescriptor
public PluginDescriptor(String pId, String pVersion, String pName, String pProviderName, String pPluginclazz, String pPath, org.apache.hadoop.conf.Configuration conf)
Constructor
- Parameters:
- <code>pId</code> -
- <code>pVersion</code> -
- <code>pName</code> -
- <code>pProviderName</code> -
- <code>pPluginclazz</code> -
- <code>pPath</code> -
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 <code>null</code>.
-
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:
- <code>pExtension</code> -
-
addExtensionPoint
public void addExtensionPoint(ExtensionPoint extensionPoint)
Adds a extension point.
- Parameters:
- <code>extensionPoint</code> -
-
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:
- <code>pId</code> - 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 a URL by first converting it into a URI, via the toURI method, and then converting the URI into a URL via the URI.toURL method.
- Parameters:
- <code>pLibPath</code> -
- Throws:
- <code>MalformedURLException</code>
-
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 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 a URL by first converting it into a URI, via the toURI method, and then converting the URI into a URL via the URI.toURL method.
- Parameters:
- <code>pLibPath</code> -
- Throws:
- <code>MalformedURLException</code>
-
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:
- <code>pKey</code> -
- <code>pLocale</code> -
- Returns:
- String
- Throws:
- <code>IOException</code>
-
getProviderName
public String getProviderName()
-
getVersion
public String getVersion()