/* * © Copyright IBM Corp. 2011 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.ibm.xsp.extlib.sbt.files.type; import java.util.HashMap; import java.util.Map; /** * @author Justin Murray * @author Dan O'Connor */ public class MimeIconRegistry { private static Map<String, String> icons = new HashMap<String, String>(); private static MimeIconRegistry instance; static { icons.put("application/pdf", "icon_pdf.png"); icons.put("application/zip", "icon_zip.png"); icons.put("application/x-gzip", "icon_zip.png"); icons.put("application/x-rar-compressed", "icon_zip.png"); // MS Application MIMEs icons.put("application/msword", "icon_document.png"); icons.put("application/vnd.ms-excel", "icon_spreadsheet.png"); icons.put("application/vnd.ms-powerpoint", "icon_presentation.png"); // Open Office Application MIMEs icons.put("application/vnd.oasis.opendocument.presentation", "icon_presentation.png"); icons.put("application/vnd.oasis.opendocument.spreadsheet", "icon_spreadsheet.png"); icons.put("application/vnd.oasis.opendocument.text", "icon_document.png"); // Audio MIMEs icons.put("audio/mpeg", "icon_audio.png"); icons.put("audio/x-wav", "icon_audio.png"); icons.put("audio/x-ms-wma", "icon_audio.png"); icons.put("audio/basic", "icon_audio.png"); icons.put("audio/mid", "icon_audio.png"); icons.put("audio/x-aiff", "icon_audio.png"); icons.put("audio/x-mpegurl", "icon_audio.png"); icons.put("audio/x-pn-realaudio", "icon_audio.png"); // Image MIMEs icons.put("image/bmp", "icon_image.png"); icons.put("image/cis-cod", "icon_image.png"); icons.put("image/gif", "icon_image.png"); icons.put("image/ief", "icon_image.png"); icons.put("image/jpeg", "icon_image.png"); icons.put("image/pipeg", "icon_image.png"); icons.put("image/pjpeg", "icon_image.png"); icons.put("image/png", "icon_image.png"); icons.put("image/svg+xml", "icon_image.png"); icons.put("image/tiff", "icon_image.png"); icons.put("image/x-cmu-raster", "icon_image.png"); icons.put("image/x-cmx", "icon_image.png"); icons.put("image/x-icon", "icon_image.png"); icons.put("image/x-png", "icon_image.png"); // Text MIMEs icons.put("text/css", "icon_text.png"); icons.put("text/html", "icon_text.png"); icons.put("text/plain", "icon_text.png"); icons.put("text/richtext", "icon_text.png"); icons.put("text/x-vcard", "icon_text.png"); // Video MIMEs icons.put("video/mpeg", "icon_video.png"); icons.put("video/quicktime", "icon_video.png"); icons.put("video/x-msvideo", "icon_video.png"); icons.put("video/x-ms-wmv", "icon_video.png"); icons.put("application/octet-stream", "icon_video.png"); // WMV file extension } /* * (non-Javadoc) * * @see java.util.HashMap#get(java.lang.Object) */ public String get(String key) { if (key == "undefined") return "icon_folder.png"; else if (icons.containsKey(key)) { return icons.get(key); } else return "icon_text.png"; } public static MimeIconRegistry getInstance() { if (instance != null) { return instance; } instance = new MimeIconRegistry(); return instance; } private MimeIconRegistry() { } }