package org.hipi.image.io;
import org.hipi.image.HipiImage;
import java.io.IOException;
import java.io.OutputStream;
/**
* Interface for encoding a {@link HipiImage} in a particular storage format and writing the
* result to a Java {@link java.io.OutputStream}.
*/
public interface ImageEncoder {
/**
* Encode and write image to a Java {@link java.io.OutputStream}.
*
* @param image source image to be encoded
* @param outputStream output stream that will receive encoded image
*
* @throws IllegalArgumentException if parameters are null or otherwise invalid
* @throws IOException if an error is encountered during stream serialization
*/
public abstract void encodeImage(HipiImage image, OutputStream outputStream)
throws IllegalArgumentException, IOException;
}