/* 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.geoserver.wcs.response;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
import java.io.OutputStream;
import javax.activation.DataContentHandler;
import javax.activation.DataSource;
import org.vfny.geoserver.wcs.responses.CoverageResponseDelegate;
/**
* A data handler for the fake "geoserver/coverageDelegate" mime type. Uses a
* {@link CoverageResponseDelegate} to determine the actual mime type and to
* encode the contents
* @author Andrea Aime - TOPP
*/
public class CoverageDelegateHandler implements DataContentHandler {
public Object getContent(DataSource source) throws IOException {
throw new UnsupportedOperationException("This handler is not able to work on the parsing side");
}
public Object getTransferData(DataFlavor flavor, DataSource source)
throws UnsupportedFlavorException, IOException {
throw new UnsupportedOperationException("This handler is not able to work on the parsing side");
}
public DataFlavor[] getTransferDataFlavors() {
throw new UnsupportedOperationException("This handler is not able to work on the parsing side");
}
public void writeTo(Object value, String mimeType, OutputStream os) throws IOException {
CoverageResponseDelegate delegate = (CoverageResponseDelegate) value;
delegate.encode(os);
os.flush();
}
}