package org.korsakow.services.encoders.image;
import java.io.File;
import java.util.Collection;
import org.korsakow.services.encoders.IEncoder;
public interface ImageEncoder extends IEncoder
{
static interface ImageEncoderDescription
{
Collection<ImageFormat> getSupportedInputFormats();
Collection<ImageFormat> getSupportedOutputFormats();
Class<? extends ImageEncoder> getEncoderClass();
}
void setEncoderSpecificOption(Object name, Object value) throws UnsupportedOperationException;
Object getEncoderSpecificOption(Object name) throws UnsupportedOperationException;
void setSize(Integer width, Integer height) throws UnsupportedOperationException;
void encode(File sourceFile, ImageFormat dstFormat, File destFile) throws ImageEncoderException;
String getFileExtension(ImageFormat format) throws UnsupportedOperationException, ImageEncoderException;
}