JsonProductHandler.java
- /*
- * JsonProductHandler
- */
- package gov.usgs.earthquake.product.io;
- import gov.usgs.earthquake.product.Product;
- import gov.usgs.earthquake.product.ProductId;
- import gov.usgs.util.StreamUtils;
- import java.io.OutputStream;
- import java.nio.charset.StandardCharsets;
- /**
- * Store a product as Json.
- */
- public class JsonProductHandler extends ObjectProductHandler {
- /** The output stream where zip content is written. */
- private OutputStream out;
- /**
- * Construct a new ZipProductHandler object.
- *
- * @param out
- * the output stream where zip content is written.
- */
- public JsonProductHandler(final OutputStream out) {
- this.out = out;
- }
- /**
- * Creates and outputs the zip stream.
- */
- public void onEndProduct(ProductId id) throws Exception {
- super.onEndProduct(id);
- // write json format
- Product product = getProduct();
- byte[] json = new JsonProduct().getJsonObject(product)
- .toString().getBytes(StandardCharsets.UTF_8);
- out.write(json);
- }
- /**
- * Free any resources associated with this handler.
- */
- @Override
- public void close() {
- StreamUtils.closeStream(out);
- }
- }