package cn.bran.japid.classmeta;
public enum MimeTypeEnum {
html("text/html; charset=utf-8"),
txt("text/plain; charset=utf-8"),
xml("text/xml; charset=utf-8"), // not using application/xml to be consistent with Play's way.
json("application/json; charset=utf-8"),
css("text/css; charset=utf-8"),
js("application/x-javascript; charset=utf-8"),
;
public String header;
MimeTypeEnum(String header) {
this.header = header;
}
public static String getHeader(String ext) {
if (ext.startsWith("."))
ext = ext.substring(1);
ext = ext.toLowerCase();
try {
MimeTypeEnum valueOf = MimeTypeEnum.valueOf(ext);
return valueOf.header;// + "; charset=utf-8";
} catch (Exception e) {
return null;
}
}
/**
* @author Bing Ran (bing.ran@gmail.com)
* @param name
* @return
*/
public static MimeTypeEnum inferFromName(String k) {
if (k.endsWith(".txt")) {
return txt;
}
else if (k.endsWith(".xml")) {
return xml;
}
else if (k.endsWith(".json")) {
return json;
}
else if (k.endsWith(".css")) {
return css;
}
else if (k.endsWith(".js")) {
return js;
}
else { // including html
return html;
}
}
}