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.
  • Constructor Details

    • PluginDescriptor

      public PluginDescriptor(String pId, String pVersion, String pName, String pProviderName, String pPluginclazz, String pPath, Configuration conf)
      Overloaded constructor
      Parameters:
      pId - set plugin ID
      pVersion - set plugin version
      pName - set plugin name
      pProviderName - set plugin provider name
      pPluginclazz - set plugin Class
      pPath - set plugin path
      conf - a populated Configuration
  • Method Details

    • 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 - a Extension
    • addExtensionPoint

      public void addExtensionPoint(ExtensionPoint extensionPoint)
      Adds a extension point.
      Parameters:
      extensionPoint - a 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. 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 URL.toURI() method, and then converting the URI into a URL via the URI.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 a URL by first converting it into a URI, via the URL.toURI() method, and then converting the URI into a URL via the URI.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 key
      pLocale - the required Locale
      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()