Class ObjectProductHandler

java.lang.Object
gov.usgs.earthquake.product.io.ObjectProductHandler
All Implemented Interfaces:
ProductHandler
Direct Known Subclasses:
DirectoryProductHandler, JsonProductHandler, ZipProductHandler

public class ObjectProductHandler extends Object implements ProductHandler
Convert ProductSource events into a java Product object. ObjectProductHandlers are not designed to handle multiple products simultaneously and separate objects must be created for each unique product id. The static method ObjectProductHandler.getProduct(ProductInput) should usually be used instead of constructing objects manually.
  • Constructor Details

    • ObjectProductHandler

      public ObjectProductHandler()
      Empty constructor
  • Method Details

    • getProduct

      public Product getProduct() throws Exception
      Returns:
      the product object that was created.
      Throws:
      Exception - if error occurs
    • onBeginProduct

      public void onBeginProduct(ProductId id, String status) throws Exception
      Description copied from interface: ProductHandler
      A new product is being output. The ProductHandler should expect calls to other on-Methods until the onEndProduct method is called. No calls to other on-Methods will occur before onBeginProduct.
      Specified by:
      onBeginProduct in interface ProductHandler
      Parameters:
      id - which product.
      status - the product's status.
      Throws:
      Exception - if error occurs
    • onContent

      public void onContent(ProductId id, String path, Content content) throws Exception
      Description copied from interface: ProductHandler
      Product content. Products have one or more Contents.
      Specified by:
      onContent in interface ProductHandler
      Parameters:
      id - which product.
      path - path to content within product.
      content - the product content.
      Throws:
      Exception - if error occurs
    • onEndProduct

      public void onEndProduct(ProductId id) throws Exception
      Description copied from interface: ProductHandler
      A product is finished being output. The ProductHandler should expect no more calls to other on-Methods, except perhaps onBeginProduct again, after the onEndProduct method is called.
      Specified by:
      onEndProduct in interface ProductHandler
      Parameters:
      id - which product.
      Throws:
      Exception - if error occurs
    • onLink

      public void onLink(ProductId id, String relation, URI href) throws Exception
      Description copied from interface: ProductHandler
      A product link. Products have zero or more links.
      Specified by:
      onLink in interface ProductHandler
      Parameters:
      id - which product.
      relation - how the URI is related to this product.
      href - the URI that is related to this product.
      Throws:
      Exception - if error occurs
    • onProperty

      public void onProperty(ProductId id, String name, String value) throws Exception
      Description copied from interface: ProductHandler
      A product property value. Products have zero or more properties.
      Specified by:
      onProperty in interface ProductHandler
      Parameters:
      id - which product.
      name - the property name.
      value - the property value.
      Throws:
      Exception - if error occurs
    • onSignatureVersion

      public void onSignatureVersion(ProductId id, CryptoUtils.Version version) throws Exception
      Description copied from interface: ProductHandler
      Product signature version.
      Specified by:
      onSignatureVersion in interface ProductHandler
      Parameters:
      id - which product.
      version - product version
      Throws:
      Exception - if error occurs
    • onSignature

      public void onSignature(ProductId id, String signature) throws Exception
      Description copied from interface: ProductHandler
      Product signature. Producers may optionally sign products to confirm they were the producer.
      Specified by:
      onSignature in interface ProductHandler
      Parameters:
      id - which product.
      signature - the product signature, which can be verified using the ProductSigner class.
      Throws:
      Exception - if error occurs
    • onSignatureHistory

      public void onSignatureHistory(ProductId id, List<ProductSignature> signatureHistory) throws Exception
      Description copied from interface: ProductHandler
      Product signature history.
      Specified by:
      onSignatureHistory in interface ProductHandler
      Parameters:
      id - which product.
      signatureHistory - signature history of product.
      Throws:
      Exception - if error occurs
    • getProduct

      public static Product getProduct(ProductSource in) throws Exception
      Convenience method to get a Product object from a ProductInput.
      Parameters:
      in - the ProductInput to read.
      Returns:
      the Product read, or null if errors occur.
      Throws:
      Exception - if error occurs
    • close

      public void close()
      Free any resources associated with this handler.
      Specified by:
      close in interface ProductHandler