package gov.lanl.adore.djatoka.openurl; import gov.lanl.adore.djatoka.DjatokaException; import java.io.File; import java.net.URI; import java.util.HashMap; import java.util.List; import java.util.Map; public interface IReferentMigrator { /** * Returns a local File object for a provide URI * @param uri the URI of an image to be downloaded and compressed as JP2 * @return File object of JP2 compressed image * @throws DjatokaException */ public abstract File convert(URI uri) throws DjatokaException; /** * Returns a local File object for a provide URI * @param img File object on local image to be compressed * @param uri the URI of an image to be compressed as JP2 * @return File object of JP2 compressed image * @throws DjatokaException */ public abstract File processImage(File img, URI uri) throws DjatokaException; /** * Return list of images currently being processed. Images are removed once complete. * @return list of images being processed */ public abstract List<?> getProcessingList(); /** * Returns map of format extension (e.g. jpg) to mimetype mappings (e.g. image/jpeg) * @return format extension to mimetype mappings */ public abstract Map<?, ?> getFormatMap(); /** * Sets map of format extension (e.g. jpg) to mimetype mappings (e.g. image/jpeg) * @param formatMap extension to mimetype mappings */ public abstract void setFormatMap(HashMap<String, String> formatMap); }