Class ProtocolFactory

java.lang.Object
org.apache.nutch.protocol.ProtocolFactory

public class ProtocolFactory extends Object
Creates and caches Protocol plugins. Protocol plugins should define the attribute "protocolName" with the name of the protocol that they implement. Configuration object is used for caching. Cache key is constructed from appending protocol name (eg. http) to constant Protocol.X_POINT_ID.
  • Field Details

    • defaultProtocolImplMapping

      protected Map<String,String> defaultProtocolImplMapping
    • hostProtocolMapping

      protected Map<String,String> hostProtocolMapping
  • Constructor Details

  • Method Details

    • getProtocol

      public Protocol getProtocol(String urlString) throws ProtocolNotFound
      Returns the appropriate Protocol implementation for a url.
      Parameters:
      urlString - Url String
      Returns:
      The appropriate Protocol implementation for a given URL.
      Throws:
      ProtocolNotFound - when Protocol can not be found for urlString or urlString is not a valid URL
    • getProtocol

      public Protocol getProtocol(URL url) throws ProtocolNotFound
      Returns the appropriate Protocol implementation for a url.
      Parameters:
      url - URL to be fetched by returned Protocol implementation
      Returns:
      The appropriate Protocol implementation for a given URL.
      Throws:
      ProtocolNotFound - when Protocol can not be found for url
    • getProtocolById

      public Protocol getProtocolById(String id) throws PluginRuntimeException
      Parameters:
      id - protocol plugin ID, e.g., org.apache.nutch.protocol.http
      Returns:
      protocol instance for the given ID
      Throws:
      PluginRuntimeException - if plugin not found or failed to instantiate