package org.rr.commons.mufs;
public class MimeUtils {
public static final String MIME_PDF = "application/pdf";
public static final String MIME_CBZ = "application/x-cbz";
public static final String MIME_CBR = "application/x-cbr";
public static final String MIME_EPUB = "application/epub+zip";
public static final String MIME_TEXT = "text/plain";
public static final String MIME_GIF = "image/gif";
public static final String MIME_PNG = "image/png";
public static final String MIME_JPEG = "image/jpeg";
public static final String MIME_HTML = "text/html";
public static final String MIME_XML = "text/xml";
public static final String MIME_RTF = "application/rtf";
public static final String MIME_MOBI = "application/x-mobipocket-ebook";
public static final String MIME_AZW = "application/vnd.amazon.ebook";
public static final String MIME_FB2 = "application/x-fictionbook+xml";
public static final String MIME_LIT = "application/x-ms-reader";
public static final String MIME_PKG = "application/x-newton-compatible-pkg";
public static final String MIME_RB = "application/x-rocketbook";
public static final String MIME_DJVU = "image/vnd.djvu";
public static final String MIME_DOC = "application/msword";
public static final String MIME_DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
public static boolean isPdf(IResourceHandler resourceHandler, boolean force) {
return MIME_PDF.equals(resourceHandler.getMimeType(force));
}
public static boolean isCbz(IResourceHandler resourceHandler, boolean force) {
return MIME_CBZ.equals(resourceHandler.getMimeType(force));
}
public static boolean isCbr(IResourceHandler resourceHandler, boolean force) {
return MIME_CBR.equals(resourceHandler.getMimeType(force));
}
public static boolean isEpub(IResourceHandler resourceHandler, boolean force) {
return MIME_EPUB.equals(resourceHandler.getMimeType(force));
}
public static boolean isText(IResourceHandler resourceHandler, boolean force) {
return MIME_TEXT.equals(resourceHandler.getMimeType(force));
}
public static boolean isGif(IResourceHandler resourceHandler, boolean force) {
return MIME_GIF.equals(resourceHandler.getMimeType(force));
}
public static boolean isPng(IResourceHandler resourceHandler, boolean force) {
return MIME_PNG.equals(resourceHandler.getMimeType(force));
}
public static boolean isJpeg(IResourceHandler resourceHandler, boolean force) {
return MIME_JPEG.equals(resourceHandler.getMimeType(force));
}
public static boolean isHtml(IResourceHandler resourceHandler, boolean force) {
return MIME_HTML.equals(resourceHandler.getMimeType(force));
}
public static boolean isXml(IResourceHandler resourceHandler, boolean force) {
return MIME_XML.equals(resourceHandler.getMimeType(force));
}
public static boolean isRtf(IResourceHandler resourceHandler, boolean force) {
return MIME_RTF.equals(resourceHandler.getMimeType(force));
}
public static boolean isMobi(IResourceHandler resourceHandler, boolean force) {
return MIME_MOBI.equals(resourceHandler.getMimeType(force));
}
public static boolean isAzw(IResourceHandler resourceHandler, boolean force) {
return MIME_AZW.equals(resourceHandler.getMimeType(force));
}
public static boolean isFb2(IResourceHandler resourceHandler, boolean force) {
return MIME_FB2.equals(resourceHandler.getMimeType(force));
}
public static boolean isLit(IResourceHandler resourceHandler, boolean force) {
return MIME_LIT.equals(resourceHandler.getMimeType(force));
}
public static boolean isPkg(IResourceHandler resourceHandler, boolean force) {
return MIME_PKG.equals(resourceHandler.getMimeType(force));
}
public static boolean isRb(IResourceHandler resourceHandler, boolean force) {
return MIME_RB.equals(resourceHandler.getMimeType(force));
}
public static boolean isDjvu(IResourceHandler resourceHandler, boolean force) {
return MIME_DJVU.equals(resourceHandler.getMimeType(force));
}
public static boolean isDoc(IResourceHandler resourceHandler, boolean force) {
return MIME_DOC.equals(resourceHandler.getMimeType(force));
}
public static boolean isDocx(IResourceHandler resourceHandler, boolean force) {
return MIME_DOCX.equals(resourceHandler.getMimeType(force));
}
public static boolean isImageMime(String mime) {
return mime.startsWith("image/");
}
public static boolean isJpegMime(String mime) {
return MIME_JPEG.equals(mime);
}
/**
* Evaluates the mime type from a file name with file name extension. Foe example a file named <code>picture.gif</code> will cause a
* mime <code>image/gif</code>. If no mime could be detected, the given <code>defaultMime</code> is returned.
*
* @param imageName The name of the image.
* @param defaultMime The mime to be returned if no file extension could be detected.
* @return A mime format string.
*/
public static String getImageMimeFromFileName(String imageName, String defaultMime) {
if(imageName == null) {
return defaultMime;
}
imageName = imageName.toLowerCase();
if(imageName.endsWith(".jpg") || imageName.endsWith(".jpeg")) {
return MIME_JPEG;
} else if(imageName.endsWith(".gif")) {
return MIME_GIF;
} else if(imageName.endsWith(".png")) {
return MIME_PNG;
}
return defaultMime;
}
}