package com.openfarmanager.android.core.archive; import java.util.HashMap; public class MimeTypes { public static final String MIME_APPLICATION_ANDREW_INSET = "application/andrew-inset"; public static final String MIME_APPLICATION_JSON = "application/json"; public static final String MIME_APPLICATION_ZIP = "application/zip"; public static final String MIME_APPLICATION_7Z = "application/x-7z-compressed"; public static final String MIME_APPLICATION_ARJ = "application/arj"; public static final String MIME_APPLICATION_X_GZIP = "application/x-gzip"; public static final String MIME_APPLICATION_TGZ = "application/tgz"; public static final String MIME_APPLICATION_MSWORD = "application/msword"; public static final String MIME_APPLICATION_POSTSCRIPT = "application/postscript"; public static final String MIME_APPLICATION_PDF = "application/pdf"; public static final String MIME_APPLICATION_JNLP = "application/jnlp"; public static final String MIME_APPLICATION_MAC_BINHEX40 = "application/mac-binhex40"; public static final String MIME_APPLICATION_MAC_COMPACTPRO = "application/mac-compactpro"; public static final String MIME_APPLICATION_MATHML_XML = "application/mathml+xml"; public static final String MIME_APPLICATION_OCTET_STREAM = "application/octet-stream"; public static final String MIME_APPLICATION_ODA = "application/oda"; public static final String MIME_APPLICATION_RDF_XML = "application/rdf+xml"; public static final String MIME_APPLICATION_JAVA_ARCHIVE = "application/java-archive"; public static final String MIME_APPLICATION_RDF_SMIL = "application/smil"; public static final String MIME_APPLICATION_SRGS = "application/srgs"; public static final String MIME_APPLICATION_SRGS_XML = "application/srgs+xml"; public static final String MIME_APPLICATION_VND_MIF = "application/vnd.mif"; public static final String MIME_APPLICATION_VND_MSEXCEL = "application/vnd.ms-excel"; public static final String MIME_APPLICATION_VND_MSPOWERPOINT = "application/vnd.ms-powerpoint"; public static final String MIME_APPLICATION_VND_RNREALMEDIA = "application/vnd.rn-realmedia"; public static final String MIME_APPLICATION_X_BCPIO = "application/x-bcpio"; public static final String MIME_APPLICATION_X_CDLINK = "application/x-cdlink"; public static final String MIME_APPLICATION_X_CHESS_PGN = "application/x-chess-pgn"; public static final String MIME_APPLICATION_X_CPIO = "application/x-cpio"; public static final String MIME_APPLICATION_X_CSH = "application/x-csh"; public static final String MIME_APPLICATION_X_DIRECTOR = "application/x-director"; public static final String MIME_APPLICATION_X_DVI = "application/x-dvi"; public static final String MIME_APPLICATION_X_FUTURESPLASH = "application/x-futuresplash"; public static final String MIME_APPLICATION_X_GTAR = "application/x-gtar"; public static final String MIME_APPLICATION_X_HDF = "application/x-hdf"; public static final String MIME_APPLICATION_X_JAVASCRIPT = "application/x-javascript"; public static final String MIME_APPLICATION_X_KOAN = "application/x-koan"; public static final String MIME_APPLICATION_X_LATEX = "application/x-latex"; public static final String MIME_APPLICATION_X_NETCDF = "application/x-netcdf"; public static final String MIME_APPLICATION_X_OGG = "application/x-ogg"; public static final String MIME_APPLICATION_X_SH = "rapplication/x-sh"; public static final String MIME_APPLICATION_X_SHAR = "application/x-shar"; public static final String MIME_APPLICATION_X_SHOCKWAVE_FLASH = "application/x-shockwave-flash"; public static final String MIME_APPLICATION_X_STUFFIT = "application/x-stuffit"; public static final String MIME_APPLICATION_X_SV4CPIO = "application/x-sv4cpio"; public static final String MIME_APPLICATION_X_SV4CRC = "application/x-sv4crc"; public static final String MIME_APPLICATION_X_AR = "application/x-ar"; public static final String MIME_APPLICATION_X_TAR = "application/x-tar"; public static final String MIME_APPLICATION_X_PACK200 = "application/x-pack200"; public static final String MIME_APPLICATION_X_BZIP2 = "application/x-bzip2"; public static final String MIME_APPLICATION_X_XZ = "application/x-xz"; public static final String MIME_APPLICATION_X_RAR_COMPRESSED = "application/x-rar-compressed"; public static final String MIME_APPLICATION_X_TCL = "application/x-tcl"; public static final String MIME_APPLICATION_X_TEX = "application/x-tex"; public static final String MIME_APPLICATION_X_TEXINFO = "application/x-texinfo"; public static final String MIME_APPLICATION_X_TROFF = "application/x-troff"; public static final String MIME_APPLICATION_X_TROFF_MAN = "application/x-troff-man"; public static final String MIME_APPLICATION_X_TROFF_ME = "application/x-troff-me"; public static final String MIME_APPLICATION_X_TROFF_MS = "application/x-troff-ms"; public static final String MIME_APPLICATION_X_USTAR = "application/x-ustar"; public static final String MIME_APPLICATION_X_WAIS_SOURCE = "application/x-wais-source"; public static final String MIME_APPLICATION_VND_MOZZILLA_XUL_XML = "application/vnd.mozilla.xul+xml"; public static final String MIME_APPLICATION_XHTML_XML = "application/xhtml+xml"; public static final String MIME_APPLICATION_XSLT_XML = "application/xslt+xml"; public static final String MIME_APPLICATION_XML = "application/xml"; public static final String MIME_APPLICATION_ANDROID_PACKAGE = "application/xml-dtd"; public static final String MIME_APPLICATION_XML_DTD = "application/vnd.android.package-archive"; public static final String MIME_IMAGE = "image/*"; public static final String MIME_IMAGE_BMP = "image/bmp"; public static final String MIME_IMAGE_CGM = "image/cgm"; public static final String MIME_IMAGE_GIF = "image/gif"; public static final String MIME_IMAGE_IEF = "image/ief"; public static final String MIME_IMAGE_JPEG = "image/jpeg"; public static final String MIME_IMAGE_TIFF = "image/tiff"; public static final String MIME_IMAGE_PNG = "image/png"; public static final String MIME_IMAGE_SVG_XML = "image/svg+xml"; public static final String MIME_IMAGE_VND_DJVU = "image/vnd.djvu"; public static final String MIME_IMAGE_WAP_WBMP = "image/vnd.wap.wbmp"; public static final String MIME_IMAGE_X_CMU_RASTER = "image/x-cmu-raster"; public static final String MIME_IMAGE_X_ICON = "image/x-icon"; public static final String MIME_IMAGE_X_PORTABLE_ANYMAP = "image/x-portable-anymap"; public static final String MIME_IMAGE_X_PORTABLE_BITMAP = "image/x-portable-bitmap"; public static final String MIME_IMAGE_X_PORTABLE_GRAYMAP = "image/x-portable-graymap"; public static final String MIME_IMAGE_X_PORTABLE_PIXMAP = "image/x-portable-pixmap"; public static final String MIME_IMAGE_X_RGB = "image/x-rgb"; public static final String MIME_AUDIO = "audio/*"; public static final String MIME_AUDIO_BASIC = "audio/basic"; public static final String MIME_AUDIO_MIDI = "audio/midi"; public static final String MIME_AUDIO_MPEG = "audio/mpeg"; public static final String MIME_AUDIO_X_AIFF = "audio/x-aiff"; public static final String MIME_AUDIO_X_MPEGURL = "audio/x-mpegurl"; public static final String MIME_AUDIO_X_PN_REALAUDIO = "audio/x-pn-realaudio"; public static final String MIME_AUDIO_X_WAV = "audio/x-wav"; public static final String MIME_CHEMICAL_X_PDB = "chemical/x-pdb"; public static final String MIME_CHEMICAL_X_XYZ = "chemical/x-xyz"; public static final String MIME_MODEL_IGES = "model/iges"; public static final String MIME_MODEL_MESH = "model/mesh"; public static final String MIME_MODEL_VRLM = "model/vrml"; public static final String MIME_TEXT_PLAIN = "text/plain"; public static final String MIME_TEXT_RICHTEXT = "text/richtext"; public static final String MIME_TEXT_RTF = "text/rtf"; public static final String MIME_TEXT_HTML = "text/html"; public static final String MIME_TEXT_CALENDAR = "text/calendar"; public static final String MIME_TEXT_CSS = "text/css"; public static final String MIME_TEXT_SGML = "text/sgml"; public static final String MIME_TEXT_TAB_SEPARATED_VALUES = "text/tab-separated-values"; public static final String MIME_TEXT_VND_WAP_XML = "text/vnd.wap.wml"; public static final String MIME_TEXT_VND_WAP_WMLSCRIPT = "text/vnd.wap.wmlscript"; public static final String MIME_TEXT_X_SETEXT = "text/x-setext"; public static final String MIME_TEXT_X_COMPONENT = "text/x-component"; public static final String MIME_VIDEO = "video/*"; public static final String MIME_VIDEO_QUICKTIME = "video/quicktime"; public static final String MIME_VIDEO_MPEG = "video/mpeg"; public static final String MIME_VIDEO_VND_MPEGURL = "video/vnd.mpegurl"; public static final String MIME_VIDEO_X_MSVIDEO = "video/x-msvideo"; public static final String MIME_VIDEO_X_MS_WMV = "video/x-ms-wmv"; public static final String MIME_VIDEO_X_SGI_MOVIE = "video/x-sgi-movie"; public static final String MIME_X_CONFERENCE_X_COOLTALK = "x-conference/x-cooltalk"; private static HashMap<String, String> mimeTypeMapping; static { mimeTypeMapping = new HashMap<String, String>() { private void putType(String key, String value) { if (put(key, value) != null) { throw new IllegalArgumentException("Duplicated extension: " + key); } } { putType("xul", MIME_APPLICATION_VND_MOZZILLA_XUL_XML); putType("json", MIME_APPLICATION_JSON); putType("ice", MIME_X_CONFERENCE_X_COOLTALK); putType("movie", MIME_VIDEO_X_SGI_MOVIE); putType("avi", MIME_VIDEO_X_MSVIDEO); putType("wmv", MIME_VIDEO_X_MS_WMV); putType("m4u", MIME_VIDEO_VND_MPEGURL); putType("mxu", MIME_VIDEO_VND_MPEGURL); putType("htc", MIME_TEXT_X_COMPONENT); putType("etx", MIME_TEXT_X_SETEXT); putType("wmls", MIME_TEXT_VND_WAP_WMLSCRIPT); putType("wml", MIME_TEXT_VND_WAP_XML); putType("tsv", MIME_TEXT_TAB_SEPARATED_VALUES); putType("sgm", MIME_TEXT_SGML); putType("sgml", MIME_TEXT_SGML); putType("css", MIME_TEXT_CSS); putType("ifb", MIME_TEXT_CALENDAR); putType("ics", MIME_TEXT_CALENDAR); putType("wrl", MIME_MODEL_VRLM); putType("vrlm", MIME_MODEL_VRLM); putType("silo", MIME_MODEL_MESH); putType("mesh", MIME_MODEL_MESH); putType("msh", MIME_MODEL_MESH); putType("iges", MIME_MODEL_IGES); putType("igs", MIME_MODEL_IGES); putType("rgb", MIME_IMAGE_X_RGB); putType("ppm", MIME_IMAGE_X_PORTABLE_PIXMAP); putType("pgm", MIME_IMAGE_X_PORTABLE_GRAYMAP); putType("pbm", MIME_IMAGE_X_PORTABLE_BITMAP); putType("pnm", MIME_IMAGE_X_PORTABLE_ANYMAP); putType("ico", MIME_IMAGE_X_ICON); putType("ras", MIME_IMAGE_X_CMU_RASTER); putType("wbmp", MIME_IMAGE_WAP_WBMP); putType("djv", MIME_IMAGE_VND_DJVU); putType("djvu", MIME_IMAGE_VND_DJVU); putType("svg", MIME_IMAGE_SVG_XML); putType("ief", MIME_IMAGE_IEF); putType("cgm", MIME_IMAGE_CGM); putType("bmp", MIME_IMAGE_BMP); putType("xyz", MIME_CHEMICAL_X_XYZ); putType("pdb", MIME_CHEMICAL_X_PDB); putType("ra", MIME_AUDIO_X_PN_REALAUDIO); putType("ram", MIME_AUDIO_X_PN_REALAUDIO); putType("m3u", MIME_AUDIO_X_MPEGURL); putType("aifc", MIME_AUDIO_X_AIFF); putType("aif", MIME_AUDIO_X_AIFF); putType("aiff", MIME_AUDIO_X_AIFF); putType("mp3", MIME_AUDIO_MPEG); putType("mp2", MIME_AUDIO_MPEG); putType("mp1", MIME_AUDIO_MPEG); putType("mpga", MIME_AUDIO_MPEG); putType("kar", MIME_AUDIO_MIDI); putType("mid", MIME_AUDIO_MIDI); putType("midi", MIME_AUDIO_MIDI); putType("dtd", MIME_APPLICATION_XML_DTD); putType("xsl", MIME_APPLICATION_XML); putType("xml", MIME_APPLICATION_XML); putType("xslt", MIME_APPLICATION_XSLT_XML); putType("xht", MIME_APPLICATION_XHTML_XML); putType("xhtml", MIME_APPLICATION_XHTML_XML); putType("src", MIME_APPLICATION_X_WAIS_SOURCE); putType("ustar", MIME_APPLICATION_X_USTAR); putType("ms", MIME_APPLICATION_X_TROFF_MS); putType("me", MIME_APPLICATION_X_TROFF_ME); putType("man", MIME_APPLICATION_X_TROFF_MAN); putType("roff", MIME_APPLICATION_X_TROFF); putType("tr", MIME_APPLICATION_X_TROFF); putType("t", MIME_APPLICATION_X_TROFF); putType("texi", MIME_APPLICATION_X_TEXINFO); putType("texinfo", MIME_APPLICATION_X_TEXINFO); putType("tex", MIME_APPLICATION_X_TEX); putType("tcl", MIME_APPLICATION_X_TCL); putType("sv4crc", MIME_APPLICATION_X_SV4CRC); putType("sv4cpio", MIME_APPLICATION_X_SV4CPIO); putType("sit", MIME_APPLICATION_X_STUFFIT); putType("swf", MIME_APPLICATION_X_SHOCKWAVE_FLASH); putType("shar", MIME_APPLICATION_X_SHAR); putType("sh", MIME_APPLICATION_X_SH); putType("cdf", MIME_APPLICATION_X_NETCDF); putType("nc", MIME_APPLICATION_X_NETCDF); putType("latex", MIME_APPLICATION_X_LATEX); putType("skm", MIME_APPLICATION_X_KOAN); putType("skt", MIME_APPLICATION_X_KOAN); putType("skd", MIME_APPLICATION_X_KOAN); putType("skp", MIME_APPLICATION_X_KOAN); putType("js", MIME_APPLICATION_X_JAVASCRIPT); putType("hdf", MIME_APPLICATION_X_HDF); putType("gtar", MIME_APPLICATION_X_GTAR); putType("spl", MIME_APPLICATION_X_FUTURESPLASH); putType("dvi", MIME_APPLICATION_X_DVI); putType("dxr", MIME_APPLICATION_X_DIRECTOR); putType("dir", MIME_APPLICATION_X_DIRECTOR); putType("dcr", MIME_APPLICATION_X_DIRECTOR); putType("csh", MIME_APPLICATION_X_CSH); putType("cpio", MIME_APPLICATION_X_CPIO); putType("pack200", MIME_APPLICATION_X_PACK200); putType("bzip2", MIME_APPLICATION_X_BZIP2); putType("xz", MIME_APPLICATION_X_XZ); putType("pgn", MIME_APPLICATION_X_CHESS_PGN); putType("vcd", MIME_APPLICATION_X_CDLINK); putType("bcpio", MIME_APPLICATION_X_BCPIO); putType("rm", MIME_APPLICATION_VND_RNREALMEDIA); putType("ppt", MIME_APPLICATION_VND_MSPOWERPOINT); putType("mif", MIME_APPLICATION_VND_MIF); putType("grxml", MIME_APPLICATION_SRGS_XML); putType("gram", MIME_APPLICATION_SRGS); putType("smil", MIME_APPLICATION_RDF_SMIL); putType("smi", MIME_APPLICATION_RDF_SMIL); putType("rdf", MIME_APPLICATION_RDF_XML); putType("ogg", MIME_APPLICATION_X_OGG); putType("oda", MIME_APPLICATION_ODA); putType("dmg", MIME_APPLICATION_OCTET_STREAM); putType("lzh", MIME_APPLICATION_OCTET_STREAM); putType("so", MIME_APPLICATION_OCTET_STREAM); putType("lha", MIME_APPLICATION_OCTET_STREAM); putType("dms", MIME_APPLICATION_OCTET_STREAM); putType("bin", MIME_APPLICATION_OCTET_STREAM); putType("mathml", MIME_APPLICATION_MATHML_XML); putType("cpt", MIME_APPLICATION_MAC_COMPACTPRO); putType("hqx", MIME_APPLICATION_MAC_BINHEX40); putType("jnlp", MIME_APPLICATION_JNLP); putType("ez", MIME_APPLICATION_ANDREW_INSET); putType("txt", MIME_TEXT_PLAIN); putType("ini", MIME_TEXT_PLAIN); putType("c", MIME_TEXT_PLAIN); putType("h", MIME_TEXT_PLAIN); putType("cpp", MIME_TEXT_PLAIN); putType("cxx", MIME_TEXT_PLAIN); putType("cc", MIME_TEXT_PLAIN); putType("chh", MIME_TEXT_PLAIN); putType("java", MIME_TEXT_PLAIN); putType("csv", MIME_TEXT_PLAIN); putType("bat", MIME_TEXT_PLAIN); putType("cmd", MIME_TEXT_PLAIN); putType("asc", MIME_TEXT_PLAIN); putType("rtf", MIME_TEXT_RTF); putType("rtx", MIME_TEXT_RICHTEXT); putType("html", MIME_TEXT_HTML); putType("htm", MIME_TEXT_HTML); putType("zip", MIME_APPLICATION_ZIP); putType("rar", MIME_APPLICATION_X_RAR_COMPRESSED); putType("gzip", MIME_APPLICATION_X_GZIP); putType("gz", MIME_APPLICATION_X_GZIP); putType("tgz", MIME_APPLICATION_TGZ); putType("tar", MIME_APPLICATION_X_TAR); putType("ar", MIME_APPLICATION_X_AR); putType("gif", MIME_IMAGE_GIF); putType("jpeg", MIME_IMAGE_JPEG); putType("jpg", MIME_IMAGE_JPEG); putType("jpe", MIME_IMAGE_JPEG); putType("tiff", MIME_IMAGE_TIFF); putType("tif", MIME_IMAGE_TIFF); putType("png", MIME_IMAGE_PNG); putType("au", MIME_AUDIO_BASIC); putType("snd", MIME_AUDIO_BASIC); putType("wav", MIME_AUDIO_X_WAV); putType("mov", MIME_VIDEO_QUICKTIME); putType("qt", MIME_VIDEO_QUICKTIME); putType("mpeg", MIME_VIDEO_MPEG); putType("mpg", MIME_VIDEO_MPEG); putType("mpe", MIME_VIDEO_MPEG); putType("abs", MIME_VIDEO_MPEG); putType("doc", MIME_APPLICATION_MSWORD); putType("xls", MIME_APPLICATION_VND_MSEXCEL); putType("eps", MIME_APPLICATION_POSTSCRIPT); putType("ai", MIME_APPLICATION_POSTSCRIPT); putType("ps", MIME_APPLICATION_POSTSCRIPT); putType("pdf", MIME_APPLICATION_PDF); putType("exe", MIME_APPLICATION_OCTET_STREAM); putType("dll", MIME_APPLICATION_OCTET_STREAM); putType("class", MIME_APPLICATION_OCTET_STREAM); putType("jar", MIME_APPLICATION_JAVA_ARCHIVE); putType("apk", MIME_APPLICATION_ANDROID_PACKAGE); putType("7z", MIME_APPLICATION_7Z); putType("arj", MIME_APPLICATION_ARJ); } }; } /** * Registers MIME type for provided extension. Existing extension type will be overriden. */ public static void registerMimeType(String ext, String mimeType) { mimeTypeMapping.put(ext, mimeType); } /** * Returns the corresponding MIME type to the given extension. * If no MIME type was found it returns 'application/octet-stream' type. */ public static String getMimeType(String ext) { String mimeType = lookupMimeType(ext); if (mimeType == null) { mimeType = MIME_APPLICATION_OCTET_STREAM; } return mimeType; } /** * Simply returns MIME type or <code>null</code> if no type is found. */ public static String lookupMimeType(String ext) { return mimeTypeMapping.get(ext.toLowerCase()); } }