Package gov.usgs.earthquake.product.io
Class ObjectProductHandler
java.lang.Object
gov.usgs.earthquake.product.io.ObjectProductHandler
- All Implemented Interfaces:
ProductHandler
- Direct Known Subclasses:
DirectoryProductHandler
,JsonProductHandler
,ZipProductHandler
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Free any resources associated with this handler.static Product
Convenience method to get a Product object from a ProductInput.void
onBeginProduct
(ProductId id, String status) A new product is being output.void
Product content.void
A product is finished being output.void
A product link.void
onProperty
(ProductId id, String name, String value) A product property value.void
onSignature
(ProductId id, String signature) Product signature.void
onSignatureHistory
(ProductId id, List<ProductSignature> signatureHistory) Product signature history.void
onSignatureVersion
(ProductId id, CryptoUtils.Version version) Product signature version.
-
Constructor Details
-
ObjectProductHandler
public ObjectProductHandler()Empty constructor
-
-
Method Details
-
getProduct
- Returns:
- the product object that was created.
- Throws:
Exception
- if error occurs
-
onBeginProduct
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 interfaceProductHandler
- Parameters:
id
- which product.status
- the product's status.- Throws:
Exception
- if error occurs
-
onContent
Description copied from interface:ProductHandler
Product content. Products have one or more Contents.- Specified by:
onContent
in interfaceProductHandler
- Parameters:
id
- which product.path
- path to content within product.content
- the product content.- Throws:
Exception
- if error occurs
-
onEndProduct
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 interfaceProductHandler
- Parameters:
id
- which product.- Throws:
Exception
- if error occurs
-
onLink
Description copied from interface:ProductHandler
A product link. Products have zero or more links.- Specified by:
onLink
in interfaceProductHandler
- 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
Description copied from interface:ProductHandler
A product property value. Products have zero or more properties.- Specified by:
onProperty
in interfaceProductHandler
- Parameters:
id
- which product.name
- the property name.value
- the property value.- Throws:
Exception
- if error occurs
-
onSignatureVersion
Description copied from interface:ProductHandler
Product signature version.- Specified by:
onSignatureVersion
in interfaceProductHandler
- Parameters:
id
- which product.version
- product version- Throws:
Exception
- if error occurs
-
onSignature
Description copied from interface:ProductHandler
Product signature. Producers may optionally sign products to confirm they were the producer.- Specified by:
onSignature
in interfaceProductHandler
- 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 interfaceProductHandler
- Parameters:
id
- which product.signatureHistory
- signature history of product.- Throws:
Exception
- if error occurs
-
getProduct
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 interfaceProductHandler
-