FilterProductHandler.java
- /*
- * FilterProductHandler
- */
- package gov.usgs.earthquake.product.io;
- import gov.usgs.earthquake.product.Content;
- import gov.usgs.earthquake.product.ProductId;
- import gov.usgs.util.CryptoUtils.Version;
- import java.net.URI;
- import java.net.URL;
- /**
- * Filter calls to another ProductHandler.
- *
- * By default, calls are passed directly on to the wrapped ProductOutput.
- */
- public class FilterProductHandler implements ProductHandler {
- /** The product output being filtered. */
- private ProductHandler output;
- /**
- * Create a new FilterProductHandler.
- *
- * A ProductOutput should be set using setProductOutput before any calls to
- * other methods.
- */
- public FilterProductHandler() {
- }
- /**
- * Create a new FilterProductHandler using and existing ProductOutput.
- *
- * @param output
- * the ProductOutput to wrap.
- */
- public FilterProductHandler(final ProductHandler output) {
- setProductOutput(output);
- }
- /**
- * Set the wrapped ProductOutput.
- *
- * @param output
- * the ProductOutput being wrapped.
- */
- public void setProductOutput(final ProductHandler output) {
- this.output = output;
- }
- /**
- * Calls the wrapped ProductOutput onBeginProduct method.
- */
- public void onBeginProduct(ProductId id, String status, URL trackerURL)
- throws Exception {
- output.onBeginProduct(id, status, trackerURL);
- }
- /**
- * Calls the wrapped ProductOutput onContent method.
- */
- public void onContent(ProductId id, String path, Content content)
- throws Exception {
- output.onContent(id, path, content);
- }
- /**
- * Calls the wrapped ProductOutput onEndProduct method.
- */
- public void onEndProduct(ProductId id) throws Exception {
- output.onEndProduct(id);
- }
- /**
- * Calls the wrapped ProductOutput onLink method.
- */
- public void onLink(ProductId id, String relation, URI href)
- throws Exception {
- output.onLink(id, relation, href);
- }
- /**
- * Calls the wrapped ProductOutput onProperty method.
- */
- public void onProperty(ProductId id, String name, String value)
- throws Exception {
- output.onProperty(id, name, value);
- }
- @Override
- public void onSignatureVersion(ProductId id, Version version) throws Exception {
- output.onSignatureVersion(id, version);
- }
- /**
- * Calls the wrapped ProductOutput onSignature method.
- */
- public void onSignature(ProductId id, String signature) throws Exception {
- output.onSignature(id, signature);
- }
- /**
- * Free any resources associated with this source.
- */
- @Override
- public void close() {
- if (output != null) {
- output.close();
- }
- }
- }