/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved. * This code is licensed under the GPL 2.0 license, availible at the root * application directory. */ package org.vfny.geoserver.wcs.responses; import java.io.IOException; import java.io.OutputStream; import org.geoserver.platform.ServiceException; import org.geotools.coverage.grid.GridCoverage2D; /** * DOCUMENT ME! * * @author Alessio Fabiani, GeoSolutions SAS * @author Simone Giannecchini, GeoSolutions SAS */ public interface CoverageResponseDelegate { boolean canProduce(String outputFormat); void prepare(String outputFormat, GridCoverage2D coverage) throws IOException; String getContentType(); /** * * @uml.property name="contentEncoding" multiplicity="(0 1)" */ String getContentEncoding(); /** * Returns an appropriate file extension for the coverages encoded with this delegate (used * mainly when storing the coverage on disk for later retrieval). For example a GeoTiff encoding * delegate might return "tif" (no period, just extension). * * @return */ String getFileExtension(); /** * * @uml.property name="contentDisposition" multiplicity="(0 1)" */ String getContentDisposition(); void encode(OutputStream output) throws ServiceException, IOException; /** * Returns the MIME type matching the specified format, or null if the specified format is not * supported * * @return */ public String getMimeFormatFor(String format); }