package com.constellio.model.utils; import java.util.HashMap; /** * Classe listant les différents MimeTypes. * * @author Hery Raveloson (NURUN) * @version 1.0 * */ public final 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_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_MSONENOTE = "application/msonenote"; 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_MS = "application/vnd.ms"; public static final String MIME_APPLICATION_VND_MSPOWERPOINT = "application/vnd.ms-powerpoint"; public static final String MIME_APPLICATION_VND_MSWORD = "application/vnd.ms-word"; public static final String MIME_APPLICATION_VND_OPENXMLFORMATS = "application/vnd.openxmlformats"; 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 = "application/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_TAR = "application/x-tar"; 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_XML_DTD = "application/xml-dtd"; 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_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_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>(200) { private static final long serialVersionUID = 1661933272537286975L; private void putLocal(String key, String value) { if (put(key, value) != null) { throw new IllegalArgumentException("Duplicated extension: " + key); } } { putLocal("xul", MIME_APPLICATION_VND_MOZZILLA_XUL_XML); putLocal("json", MIME_APPLICATION_JSON); putLocal("ice", MIME_X_CONFERENCE_X_COOLTALK); putLocal("movie", MIME_VIDEO_X_SGI_MOVIE); putLocal("avi", MIME_VIDEO_X_MSVIDEO); putLocal("wmv", MIME_VIDEO_X_MS_WMV); putLocal("m4u", MIME_VIDEO_VND_MPEGURL); putLocal("mxu", MIME_VIDEO_VND_MPEGURL); putLocal("htc", MIME_TEXT_X_COMPONENT); putLocal("etx", MIME_TEXT_X_SETEXT); putLocal("wmls", MIME_TEXT_VND_WAP_WMLSCRIPT); putLocal("wml", MIME_TEXT_VND_WAP_XML); putLocal("tsv", MIME_TEXT_TAB_SEPARATED_VALUES); putLocal("sgm", MIME_TEXT_SGML); putLocal("sgml", MIME_TEXT_SGML); putLocal("css", MIME_TEXT_CSS); putLocal("ifb", MIME_TEXT_CALENDAR); putLocal("ics", MIME_TEXT_CALENDAR); putLocal("wrl", MIME_MODEL_VRLM); putLocal("vrlm", MIME_MODEL_VRLM); putLocal("silo", MIME_MODEL_MESH); putLocal("mesh", MIME_MODEL_MESH); putLocal("msh", MIME_MODEL_MESH); putLocal("iges", MIME_MODEL_IGES); putLocal("igs", MIME_MODEL_IGES); putLocal("rgb", MIME_IMAGE_X_RGB); putLocal("ppm", MIME_IMAGE_X_PORTABLE_PIXMAP); putLocal("pgm", MIME_IMAGE_X_PORTABLE_GRAYMAP); putLocal("pbm", MIME_IMAGE_X_PORTABLE_BITMAP); putLocal("pnm", MIME_IMAGE_X_PORTABLE_ANYMAP); putLocal("ico", MIME_IMAGE_X_ICON); putLocal("ras", MIME_IMAGE_X_CMU_RASTER); putLocal("wbmp", MIME_IMAGE_WAP_WBMP); putLocal("djv", MIME_IMAGE_VND_DJVU); putLocal("djvu", MIME_IMAGE_VND_DJVU); putLocal("svg", MIME_IMAGE_SVG_XML); putLocal("ief", MIME_IMAGE_IEF); putLocal("cgm", MIME_IMAGE_CGM); putLocal("bmp", MIME_IMAGE_BMP); putLocal("xyz", MIME_CHEMICAL_X_XYZ); putLocal("pdb", MIME_CHEMICAL_X_PDB); putLocal("ra", MIME_AUDIO_X_PN_REALAUDIO); putLocal("ram", MIME_AUDIO_X_PN_REALAUDIO); putLocal("m3u", MIME_AUDIO_X_MPEGURL); putLocal("aifc", MIME_AUDIO_X_AIFF); putLocal("aif", MIME_AUDIO_X_AIFF); putLocal("aiff", MIME_AUDIO_X_AIFF); putLocal("mp3", MIME_AUDIO_MPEG); putLocal("mp2", MIME_AUDIO_MPEG); putLocal("mp1", MIME_AUDIO_MPEG); putLocal("mpga", MIME_AUDIO_MPEG); putLocal("kar", MIME_AUDIO_MIDI); putLocal("mid", MIME_AUDIO_MIDI); putLocal("midi", MIME_AUDIO_MIDI); putLocal("dtd", MIME_APPLICATION_XML_DTD); putLocal("xsl", MIME_APPLICATION_XML); putLocal("xml", MIME_APPLICATION_XML); putLocal("xslt", MIME_APPLICATION_XSLT_XML); putLocal("xht", MIME_APPLICATION_XHTML_XML); putLocal("xhtml", MIME_APPLICATION_XHTML_XML); putLocal("src", MIME_APPLICATION_X_WAIS_SOURCE); putLocal("ustar", MIME_APPLICATION_X_USTAR); putLocal("ms", MIME_APPLICATION_X_TROFF_MS); putLocal("me", MIME_APPLICATION_X_TROFF_ME); putLocal("man", MIME_APPLICATION_X_TROFF_MAN); putLocal("roff", MIME_APPLICATION_X_TROFF); putLocal("tr", MIME_APPLICATION_X_TROFF); putLocal("t", MIME_APPLICATION_X_TROFF); putLocal("texi", MIME_APPLICATION_X_TEXINFO); putLocal("texinfo", MIME_APPLICATION_X_TEXINFO); putLocal("tex", MIME_APPLICATION_X_TEX); putLocal("tcl", MIME_APPLICATION_X_TCL); putLocal("sv4crc", MIME_APPLICATION_X_SV4CRC); putLocal("sv4cpio", MIME_APPLICATION_X_SV4CPIO); putLocal("sit", MIME_APPLICATION_X_STUFFIT); putLocal("swf", MIME_APPLICATION_X_SHOCKWAVE_FLASH); putLocal("shar", MIME_APPLICATION_X_SHAR); putLocal("sh", MIME_APPLICATION_X_SH); putLocal("cdf", MIME_APPLICATION_X_NETCDF); putLocal("nc", MIME_APPLICATION_X_NETCDF); putLocal("latex", MIME_APPLICATION_X_LATEX); putLocal("skm", MIME_APPLICATION_X_KOAN); putLocal("skt", MIME_APPLICATION_X_KOAN); putLocal("skd", MIME_APPLICATION_X_KOAN); putLocal("skp", MIME_APPLICATION_X_KOAN); putLocal("js", MIME_APPLICATION_X_JAVASCRIPT); putLocal("hdf", MIME_APPLICATION_X_HDF); putLocal("gtar", MIME_APPLICATION_X_GTAR); putLocal("spl", MIME_APPLICATION_X_FUTURESPLASH); putLocal("dvi", MIME_APPLICATION_X_DVI); putLocal("dxr", MIME_APPLICATION_X_DIRECTOR); putLocal("dir", MIME_APPLICATION_X_DIRECTOR); putLocal("dcr", MIME_APPLICATION_X_DIRECTOR); putLocal("csh", MIME_APPLICATION_X_CSH); putLocal("cpio", MIME_APPLICATION_X_CPIO); putLocal("pgn", MIME_APPLICATION_X_CHESS_PGN); putLocal("vcd", MIME_APPLICATION_X_CDLINK); putLocal("bcpio", MIME_APPLICATION_X_BCPIO); putLocal("rm", MIME_APPLICATION_VND_RNREALMEDIA); putLocal("ppt", MIME_APPLICATION_VND_MSPOWERPOINT); putLocal("mif", MIME_APPLICATION_VND_MIF); putLocal("grxml", MIME_APPLICATION_SRGS_XML); putLocal("gram", MIME_APPLICATION_SRGS); putLocal("smil", MIME_APPLICATION_RDF_SMIL); putLocal("smi", MIME_APPLICATION_RDF_SMIL); putLocal("rdf", MIME_APPLICATION_RDF_XML); putLocal("ogg", MIME_APPLICATION_X_OGG); putLocal("oda", MIME_APPLICATION_ODA); putLocal("dmg", MIME_APPLICATION_OCTET_STREAM); putLocal("lzh", MIME_APPLICATION_OCTET_STREAM); putLocal("so", MIME_APPLICATION_OCTET_STREAM); putLocal("lha", MIME_APPLICATION_OCTET_STREAM); putLocal("dms", MIME_APPLICATION_OCTET_STREAM); putLocal("bin", MIME_APPLICATION_OCTET_STREAM); putLocal("mathml", MIME_APPLICATION_MATHML_XML); putLocal("cpt", MIME_APPLICATION_MAC_COMPACTPRO); putLocal("hqx", MIME_APPLICATION_MAC_BINHEX40); putLocal("jnlp", MIME_APPLICATION_JNLP); putLocal("ez", MIME_APPLICATION_ANDREW_INSET); putLocal("txt", MIME_TEXT_PLAIN); putLocal("ini", MIME_TEXT_PLAIN); putLocal("c", MIME_TEXT_PLAIN); putLocal("h", MIME_TEXT_PLAIN); putLocal("cpp", MIME_TEXT_PLAIN); putLocal("cxx", MIME_TEXT_PLAIN); putLocal("cc", MIME_TEXT_PLAIN); putLocal("chh", MIME_TEXT_PLAIN); putLocal("java", MIME_TEXT_PLAIN); putLocal("csv", MIME_TEXT_PLAIN); putLocal("bat", MIME_TEXT_PLAIN); putLocal("cmd", MIME_TEXT_PLAIN); putLocal("asc", MIME_TEXT_PLAIN); putLocal("rtf", MIME_TEXT_RTF); putLocal("rtx", MIME_TEXT_RICHTEXT); putLocal("html", MIME_TEXT_HTML); putLocal("htm", MIME_TEXT_HTML); putLocal("zip", MIME_APPLICATION_ZIP); putLocal("rar", MIME_APPLICATION_X_RAR_COMPRESSED); putLocal("gzip", MIME_APPLICATION_X_GZIP); putLocal("gz", MIME_APPLICATION_X_GZIP); putLocal("tgz", MIME_APPLICATION_TGZ); putLocal("tar", MIME_APPLICATION_X_TAR); putLocal("gif", MIME_IMAGE_GIF); putLocal("jpeg", MIME_IMAGE_JPEG); putLocal("jpg", MIME_IMAGE_JPEG); putLocal("jpe", MIME_IMAGE_JPEG); putLocal("tiff", MIME_IMAGE_TIFF); putLocal("tif", MIME_IMAGE_TIFF); putLocal("png", MIME_IMAGE_PNG); putLocal("au", MIME_AUDIO_BASIC); putLocal("snd", MIME_AUDIO_BASIC); putLocal("wav", MIME_AUDIO_X_WAV); putLocal("mov", MIME_VIDEO_QUICKTIME); putLocal("qt", MIME_VIDEO_QUICKTIME); putLocal("mpeg", MIME_VIDEO_MPEG); putLocal("mpg", MIME_VIDEO_MPEG); putLocal("mpe", MIME_VIDEO_MPEG); putLocal("abs", MIME_VIDEO_MPEG); putLocal("doc", MIME_APPLICATION_MSWORD); putLocal("xls", MIME_APPLICATION_VND_MSEXCEL); putLocal("eps", MIME_APPLICATION_POSTSCRIPT); putLocal("ai", MIME_APPLICATION_POSTSCRIPT); putLocal("ps", MIME_APPLICATION_POSTSCRIPT); putLocal("pdf", MIME_APPLICATION_PDF); putLocal("exe", MIME_APPLICATION_OCTET_STREAM); putLocal("dll", MIME_APPLICATION_OCTET_STREAM); putLocal("class", MIME_APPLICATION_OCTET_STREAM); putLocal("jar", MIME_APPLICATION_JAVA_ARCHIVE); putLocal("docx", MIME_APPLICATION_VND_OPENXMLFORMATS + "-officedocument.wordprocessingml.document"); putLocal("docm", MIME_APPLICATION_VND_MSWORD + ".document.macroEnabled.12"); putLocal("dotx", MIME_APPLICATION_VND_OPENXMLFORMATS + "-officedocument.wordprocessingml.template"); putLocal("dotm", MIME_APPLICATION_VND_MSWORD + ".template.macroEnabled.12"); putLocal("xlsx", MIME_APPLICATION_VND_OPENXMLFORMATS + "-officedocument.spreadsheetml.sheet"); putLocal("xlsm", MIME_APPLICATION_VND_MSEXCEL + ".sheet.macroEnabled.12"); putLocal("xltx", MIME_APPLICATION_VND_OPENXMLFORMATS + "-officedocument.spreadsheetml.template"); putLocal("xltm", MIME_APPLICATION_VND_MSEXCEL + ".template.macroEnabled.12"); putLocal("xlsb", MIME_APPLICATION_VND_MSEXCEL + ".sheet.binary.macroEnabled.12"); putLocal("xlam", MIME_APPLICATION_VND_MSEXCEL + ".addin.macroEnabled.12"); putLocal("pptx", MIME_APPLICATION_VND_OPENXMLFORMATS + "-officedocument.presentationml.presentation"); putLocal("pptm", MIME_APPLICATION_VND_MS + "-powerpoint.presentation.macroEnabled.12"); putLocal("ppsx", MIME_APPLICATION_VND_OPENXMLFORMATS + "-officedocument.presentationml.slideshow"); putLocal("ppsm", MIME_APPLICATION_VND_MS + "-powerpoint.slideshow.macroEnabled.12"); putLocal("potx", MIME_APPLICATION_VND_OPENXMLFORMATS + "-officedocument.presentationml.template"); putLocal("potm", MIME_APPLICATION_VND_MS + "-powerpoint.template.macroEnabled.12"); putLocal("ppam", MIME_APPLICATION_VND_MS + "-powerpoint.addin.macroEnabled.12"); putLocal("sldx", MIME_APPLICATION_VND_OPENXMLFORMATS + "-officedocument.presentationml.slide"); putLocal("sldm", MIME_APPLICATION_VND_MS + "-powerpoint.slide.macroEnabled.12"); putLocal("one", MIME_APPLICATION_MSONENOTE); putLocal("onetoc2", MIME_APPLICATION_MSONENOTE); putLocal("onetmp", MIME_APPLICATION_MSONENOTE); putLocal("onepkg", MIME_APPLICATION_MSONENOTE); putLocal("thmx", MIME_APPLICATION_VND_MS + "-officetheme"); } }; } /** * Constructeur de {@link MimeTypes} */ private MimeTypes() { } public static void main(String[] args) { System.out.println(mimeTypeMapping.size()); } /** * 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()); } }