KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jodd > util > MimeTypeMapping


1 // Copyright (c) 2003-2007, Jodd Team (jodd.sf.net). All Rights Reserved.
2

3 package jodd.util;
4
5 import java.util.HashMap JavaDoc;
6
7 /**
8  * Map extensions to MIME types.
9  */

10 public class MimeTypeMapping {
11
12     private static String JavaDoc MIMETYPE_TEXT_PLAIN = "text/plain";
13     private static String JavaDoc MIMETYPE_TEXT_RICHTEXT = "text/richtext";
14     private static String JavaDoc MIMETYPE_TEXT_HTML = "text/html";
15     private static String JavaDoc MIMETYPE_APPL_ZIP = "application/zip";
16     private static String JavaDoc MIMETYPE_APPL_RAR = "application/rar";
17     private static String JavaDoc MIMETYPE_APPL_GZIP = "application/gzip";
18     private static String JavaDoc MIMETYPE_APPL_TAR = "application/tar";
19     private static String JavaDoc MIMETYPE_APPL_SIT = "application/sit";
20     private static String JavaDoc MIMETYPE_APPL_TGZ = "application/tgz";
21     private static String JavaDoc MIMETYPE_APPL_GZ = "application/gz";
22     private static String JavaDoc MIMETYPE_APPL_MSWORD = "application/msword";
23     private static String JavaDoc MIMETYPE_APPL_MSEXCEL = "application/msexcel";
24     private static String JavaDoc MIMETYPE_APPL_PS = "application/postscript";
25     private static String JavaDoc MIMETYPE_APPL_PDF = "application/pdf";
26     private static String JavaDoc MIMETYPE_APPL_BINARY = "application/binary";
27     private static String JavaDoc MIMETYPE_IMG_GIF = "image/gif";
28     private static String JavaDoc MIMETYPE_IMG_JPEG = "image/jpeg";
29     private static String JavaDoc MIMETYPE_IMG_TIFF = "image/tiff";
30     private static String JavaDoc MIMETYPE_IMG_PNG = "image/png";
31     private static String JavaDoc MIMETYPE_AUDIO_AIFF = "audio/aiff";
32     private static String JavaDoc MIMETYPE_AUDIO_BASIC = "audio/basic";
33     private static String JavaDoc MIMETYPE_AUDIO_WAV = "audio/wav";
34     private static String JavaDoc MIMETYPE_AUDIO_MP3 = "audio/mp3";
35     private static String JavaDoc MIMETYPE_VIDEO_MSVIDEO = "video/x-msvideo";
36     private static String JavaDoc MIMETYPE_VIDEO_QUICKTIME = "video/quicktime";
37     private static String JavaDoc MIMETYPE_VIDEO_MPEG = "video/mpeg";
38
39     private static HashMap JavaDoc mimeTypeMapping;
40
41     static {
42         mimeTypeMapping = new HashMap JavaDoc(50);
43         mimeTypeMapping.put("txt", MIMETYPE_TEXT_PLAIN);
44         mimeTypeMapping.put("ini", MIMETYPE_TEXT_PLAIN);
45         mimeTypeMapping.put("c", MIMETYPE_TEXT_PLAIN);
46         mimeTypeMapping.put("h", MIMETYPE_TEXT_PLAIN);
47         mimeTypeMapping.put("cpp", MIMETYPE_TEXT_PLAIN);
48         mimeTypeMapping.put("cxx", MIMETYPE_TEXT_PLAIN);
49         mimeTypeMapping.put("cc", MIMETYPE_TEXT_PLAIN);
50         mimeTypeMapping.put("chh", MIMETYPE_TEXT_PLAIN);
51         mimeTypeMapping.put("java", MIMETYPE_TEXT_PLAIN);
52         mimeTypeMapping.put("csv", MIMETYPE_TEXT_PLAIN);
53         mimeTypeMapping.put("bat", MIMETYPE_TEXT_PLAIN);
54         mimeTypeMapping.put("cmd", MIMETYPE_TEXT_PLAIN);
55         mimeTypeMapping.put("sh", MIMETYPE_TEXT_PLAIN);
56         mimeTypeMapping.put("rtf", MIMETYPE_TEXT_RICHTEXT);
57         mimeTypeMapping.put("rtx", MIMETYPE_TEXT_RICHTEXT);
58         mimeTypeMapping.put("html", MIMETYPE_TEXT_HTML);
59         mimeTypeMapping.put("htm", MIMETYPE_TEXT_HTML);
60         mimeTypeMapping.put("zip", MIMETYPE_APPL_ZIP);
61         mimeTypeMapping.put("rar", MIMETYPE_APPL_RAR);
62         mimeTypeMapping.put("gzip", MIMETYPE_APPL_GZIP);
63         mimeTypeMapping.put("sit", MIMETYPE_APPL_SIT);
64         mimeTypeMapping.put("tgz", MIMETYPE_APPL_TGZ);
65         mimeTypeMapping.put("gz", MIMETYPE_APPL_GZ);
66         mimeTypeMapping.put("tar", MIMETYPE_APPL_TAR);
67         mimeTypeMapping.put("gif", MIMETYPE_IMG_GIF);
68         mimeTypeMapping.put("jpeg", MIMETYPE_IMG_JPEG);
69         mimeTypeMapping.put("jpg", MIMETYPE_IMG_JPEG);
70         mimeTypeMapping.put("tiff", MIMETYPE_IMG_TIFF);
71         mimeTypeMapping.put("tif", MIMETYPE_IMG_TIFF);
72         mimeTypeMapping.put("png", MIMETYPE_IMG_PNG);
73         mimeTypeMapping.put("aiff", MIMETYPE_AUDIO_AIFF);
74         mimeTypeMapping.put("aif", MIMETYPE_AUDIO_AIFF);
75         mimeTypeMapping.put("au", MIMETYPE_AUDIO_BASIC);
76         mimeTypeMapping.put("wav", MIMETYPE_AUDIO_WAV);
77         mimeTypeMapping.put("mp3", MIMETYPE_AUDIO_MP3);
78         mimeTypeMapping.put("avi", MIMETYPE_VIDEO_MSVIDEO);
79         mimeTypeMapping.put("mov", MIMETYPE_VIDEO_QUICKTIME);
80         mimeTypeMapping.put("qt", MIMETYPE_VIDEO_QUICKTIME);
81         mimeTypeMapping.put("mpeg", MIMETYPE_VIDEO_MPEG);
82         mimeTypeMapping.put("mpg", MIMETYPE_VIDEO_MPEG);
83         mimeTypeMapping.put("doc", MIMETYPE_APPL_MSWORD);
84         mimeTypeMapping.put("xls", MIMETYPE_APPL_MSEXCEL);
85         mimeTypeMapping.put("ps", MIMETYPE_APPL_PS);
86         mimeTypeMapping.put("pdf", MIMETYPE_APPL_PDF);
87         mimeTypeMapping.put("exe", MIMETYPE_APPL_BINARY);
88         mimeTypeMapping.put("dll", MIMETYPE_APPL_BINARY);
89         mimeTypeMapping.put("class", MIMETYPE_APPL_BINARY);
90         mimeTypeMapping.put("jar", MIMETYPE_APPL_BINARY);
91     }
92
93
94     public static void setMimeType(String JavaDoc ext, String JavaDoc mimeType) {
95         mimeTypeMapping.put(ext, mimeType);
96     }
97
98     /**
99      * Returns the corresponding MIME type to the given extension.
100      * If no MIME type was found it returns applications/binary.
101      */

102     public static String JavaDoc getMimeType(String JavaDoc ext) {
103         String JavaDoc mimeType = (String JavaDoc) mimeTypeMapping.get(ext.toLowerCase());
104         if (mimeType == null) {
105             mimeType = MIMETYPE_APPL_BINARY;
106         }
107         return mimeType;
108     }
109 }
110
Popular Tags