package eu.europeana.cloud.util; import org.apache.tika.config.TikaConfig; import org.apache.tika.metadata.Metadata; import org.apache.tika.mime.MediaType; import org.apache.tika.mime.MimeType; import org.apache.tika.mime.MimeTypeException; import java.io.IOException; import java.io.InputStream; /** * Utility for extension-related services */ public class MimeTypeHelper { private static final TikaConfig CONFIG = TikaConfig.getDefaultConfig(); /** * Gets the extension based on a media type * * @param mediaType MediaType * @return the extension . * @throws MimeTypeException thrown if MimeType wasn't detected */ public static String getExtension(MediaType mediaType) throws MimeTypeException { MimeType mimeType = CONFIG.getMimeRepository().forName(mediaType.toString()); return mimeType.getExtension(); } /** * Gets Media Type based on a stream * * @param stream * @return the mediaType . * @throws MimeTypeException thrown if MimeType wasn't detected * @throws IOException */ public static MediaType getMediaTypeFromStream(InputStream stream) throws MimeTypeException, IOException { return CONFIG.getMimeRepository().detect(stream, new Metadata()); } }