Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /* ************************************************************************
  #
  #  DivConq
  #
  #  http://divconq.com/
  #
  #  Copyright:
  #    Copyright 2014 eTimeline, LLC. All rights reserved.
  #
 #  License:
 #    See the license.txt file in the project's top-level directory for details.
 #
 #  Authors:
 #    * Andy White
 #
 ************************************************************************ */
 package divconq.util;
 
 import java.util.Map;
 
 
 public class MimeUtil {
 	static protected Map<String,MimeInfomimeMapping = new HashMap<String,MimeInfo>();
 	static protected Map<String,MimeInfomimeTypeMapping = new HashMap<String,MimeInfo>();
 	 
 	static {
 		MimeUtil.load(
 				new XElement("MimeList"
 						new XElement("MimeDef"new XAttribute("Ext""html"), new XAttribute("Type""text/html"), new XAttribute("Compress""True")),
 						new XElement("MimeDef"new XAttribute("Ext""xml"), new XAttribute("Type""text/xml"), new XAttribute("Compress""True")),
 						new XElement("MimeDef"new XAttribute("Ext""txt"), new XAttribute("Type""text/plain"), new XAttribute("Compress""True")),
 						new XElement("MimeDef"new XAttribute("Ext""jpg"), new XAttribute("Type""image/jpeg")),
 						new XElement("MimeDef"new XAttribute("Ext""png"), new XAttribute("Type""image/png")),
 						new XElement("MimeDef"new XAttribute("Ext""gif"), new XAttribute("Type""image/gif")),
 						new XElement("MimeDef"new XAttribute("Ext""css"), new XAttribute("Type""text/css"), new XAttribute("Compress""True")),
 						new XElement("MimeDef"new XAttribute("Ext""json"), new XAttribute("Type""application/json"), new XAttribute("Compress""True")),
 						new XElement("MimeDef"new XAttribute("Ext""js"), new XAttribute("Type""application/javascript"), new XAttribute("Compress""True")),
 						new XElement("MimeDef"new XAttribute("Ext""yaml"), new XAttribute("Type""text/yaml"), new XAttribute("Compress""True")),
 						new XElement("MimeDef"new XAttribute("Ext""woff"), new XAttribute("Type""application/x-font-woff")),
 						new XElement("MimeDef"new XAttribute("Ext""cur"), new XAttribute("Type""image/vnd.microsoft.icon")),
 						new XElement("MimeDef"new XAttribute("Ext""ico"), new XAttribute("Type""image/vnd.microsoft.icon"))
 				)
 		);
 	}
 	
 	static public void load(XElement config) {
 		if (config != null) {
 			for (XElement mimeinfo : config.selectAll("MimeDef")) {
 				String mtype = mimeinfo.getAttribute("Type");
 				String ext = mimeinfo.getAttribute("Ext");
 				
 				if (!StringUtil.isEmpty(mtype) && !StringUtil.isEmpty(ext)) {
 					MimeInfo info = new MimeInfo();
 					info.ext = ext;
 					info.type = mtype;
 					info.compress = "True".equals(mimeinfo.getAttribute("Compress"));
 					..put(extinfo);
 					..put(mtypeinfo);
 				}
 			}
 		}
 	}
 	
 	static public String getMimeType(String ext) {
 		if (ext == null)
 			return "application/octetstream";
 		
 		return (mt != null) ? mt.type : "application/octetstream";
 	}
 	
 	static public String getMimeType(CommonPath path) {
 		return MimeUtil.getMimeType(path.getFileExtension());
 	}
 	
 	static public String getMimeType(Path path) {
 		String ext = FileUtil.getFileExtension(path);
 		
 		return MimeUtil.getMimeType(ext);
 	}
 	
 	static public String getMimeTypeForFile(String fname) {
 		String ext = FileUtil.getFileExtension(fname);
 		
 		return MimeUtil.getMimeType(ext);
 	}
 
 	static public boolean getMimeCompress(String ext) {
 		if (ext == null)
 			return false;
 		
 		
 		if (mt == null)
		return (mt != null) ? mt.compress : false;
	}
	static public class MimeInfo {
		public String ext = null;
		public String type = null;
		public boolean compress = false;
	}
	public static String octetStream() {
		return "application/octetstream";
	}
New to GrepCode? Check out our FAQ X