001// *************************************************************************************************************************** 002// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file * 003// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file * 004// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance * 005// * with the License. You may obtain a copy of the License at * 006// * * 007// * http://www.apache.org/licenses/LICENSE-2.0 * 008// * * 009// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an * 010// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * 011// * specific language governing permissions and limitations under the License. * 012// *************************************************************************************************************************** 013package org.apache.juneau.utils; 014 015import javax.activation.*; 016 017/** 018 * An extension of {@link javax.activation.MimetypesFileTypeMap} that includes many more media types. 019 * 020 * <h5 class='section'>See Also:</h5><ul> 021 * </ul> 022 */ 023public class ExtendedMimetypesFileTypeMap extends MimetypesFileTypeMap { 024 025 /** 026 * Reusable map since this object is somewhat expensive to create. 027 */ 028 public static final ExtendedMimetypesFileTypeMap DEFAULT = new ExtendedMimetypesFileTypeMap(); 029 030 /** 031 * Constructor. 032 */ 033 public ExtendedMimetypesFileTypeMap() { 034 super(); 035 addMimeTypes("application/epub+zip epub"); 036 addMimeTypes("application/java-archive jar"); 037 addMimeTypes("application/javascript js"); 038 addMimeTypes("application/json json"); 039 addMimeTypes("application/msword doc"); 040 addMimeTypes("application/ogg ogx"); 041 addMimeTypes("application/pdf pdf"); 042 addMimeTypes("application/rtf rtf"); 043 addMimeTypes("application/vnd.amazon.ebook azw"); 044 addMimeTypes("application/vnd.apple.installer+xml mpkg"); 045 addMimeTypes("application/vnd.mozilla.xul+xml xul"); 046 addMimeTypes("application/vnd.ms-excel xls"); 047 addMimeTypes("application/vnd.ms-powerpoint ppt"); 048 addMimeTypes("application/vnd.oasis.opendocument.presentation odp"); 049 addMimeTypes("application/vnd.oasis.opendocument.spreadsheet ods"); 050 addMimeTypes("application/vnd.oasis.opendocument.text odt"); 051 addMimeTypes("application/vnd.visio vsd"); 052 addMimeTypes("application/x-7z-compressed 7z"); 053 addMimeTypes("application/x-abiword abw"); 054 addMimeTypes("application/x-bzip bz"); 055 addMimeTypes("application/x-bzip2 bz2"); 056 addMimeTypes("application/x-csh csh"); 057 addMimeTypes("application/x-rar-compressed rar"); 058 addMimeTypes("application/x-sh sh"); 059 addMimeTypes("application/x-shockwave-flash swf"); 060 addMimeTypes("application/x-tar tar"); 061 addMimeTypes("application/xhtml+xml xhtml"); 062 addMimeTypes("application/xml xml"); 063 addMimeTypes("application/zip zip"); 064 addMimeTypes("audio/aac aac"); 065 addMimeTypes("audio/midi mid midi"); 066 addMimeTypes("audio/ogg oga"); 067 addMimeTypes("audio/webm weba"); 068 addMimeTypes("audio/x-wav wav"); 069 addMimeTypes("font/ttf ttf"); 070 addMimeTypes("font/woff woff"); 071 addMimeTypes("font/woff2 woff2"); 072 addMimeTypes("image/gif gif"); 073 addMimeTypes("image/jpeg jpeg jpg"); 074 addMimeTypes("image/png png"); 075 addMimeTypes("image/svg+xml svg"); 076 addMimeTypes("image/tiff tif tiff"); 077 addMimeTypes("image/webp webp"); 078 addMimeTypes("image/x-icon ico"); 079 addMimeTypes("text/calendar ics"); 080 addMimeTypes("text/css css"); 081 addMimeTypes("text/csv csv"); 082 addMimeTypes("text/html htm html"); 083 addMimeTypes("text/plain txt"); 084 addMimeTypes("video/3gpp 3gp"); 085 addMimeTypes("video/3gpp2 3g2"); 086 addMimeTypes("video/mpeg mpeg"); 087 addMimeTypes("video/ogg ogv"); 088 addMimeTypes("video/webm webm"); 089 addMimeTypes("video/x-msvideo avi"); 090 } 091}