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 */ 020public class ExtendedMimetypesFileTypeMap extends MimetypesFileTypeMap { 021 022 /** 023 * Reusable map since this object is somewhat expensive to create. 024 */ 025 public static final ExtendedMimetypesFileTypeMap DEFAULT = new ExtendedMimetypesFileTypeMap(); 026 027 /** 028 * Constructor. 029 */ 030 public ExtendedMimetypesFileTypeMap() { 031 super(); 032 addMimeTypes("application/epub+zip epub"); 033 addMimeTypes("application/java-archive jar"); 034 addMimeTypes("application/javascript js"); 035 addMimeTypes("application/json json"); 036 addMimeTypes("application/msword doc"); 037 addMimeTypes("application/ogg ogx"); 038 addMimeTypes("application/pdf pdf"); 039 addMimeTypes("application/rtf rtf"); 040 addMimeTypes("application/vnd.amazon.ebook azw"); 041 addMimeTypes("application/vnd.apple.installer+xml mpkg"); 042 addMimeTypes("application/vnd.mozilla.xul+xml xul"); 043 addMimeTypes("application/vnd.ms-excel xls"); 044 addMimeTypes("application/vnd.ms-powerpoint ppt"); 045 addMimeTypes("application/vnd.oasis.opendocument.presentation odp"); 046 addMimeTypes("application/vnd.oasis.opendocument.spreadsheet ods"); 047 addMimeTypes("application/vnd.oasis.opendocument.text odt"); 048 addMimeTypes("application/vnd.visio vsd"); 049 addMimeTypes("application/x-7z-compressed 7z"); 050 addMimeTypes("application/x-abiword abw"); 051 addMimeTypes("application/x-bzip bz"); 052 addMimeTypes("application/x-bzip2 bz2"); 053 addMimeTypes("application/x-csh csh"); 054 addMimeTypes("application/x-rar-compressed rar"); 055 addMimeTypes("application/x-sh sh"); 056 addMimeTypes("application/x-shockwave-flash swf"); 057 addMimeTypes("application/x-tar tar"); 058 addMimeTypes("application/xhtml+xml xhtml"); 059 addMimeTypes("application/xml xml"); 060 addMimeTypes("application/zip zip"); 061 addMimeTypes("audio/aac aac"); 062 addMimeTypes("audio/midi mid midi"); 063 addMimeTypes("audio/ogg oga"); 064 addMimeTypes("audio/webm weba"); 065 addMimeTypes("audio/x-wav wav"); 066 addMimeTypes("font/ttf ttf"); 067 addMimeTypes("font/woff woff"); 068 addMimeTypes("font/woff2 woff2"); 069 addMimeTypes("image/gif gif"); 070 addMimeTypes("image/jpeg jpeg jpg"); 071 addMimeTypes("image/png png"); 072 addMimeTypes("image/svg+xml svg"); 073 addMimeTypes("image/tiff tif tiff"); 074 addMimeTypes("image/webp webp"); 075 addMimeTypes("image/x-icon ico"); 076 addMimeTypes("text/calendar ics"); 077 addMimeTypes("text/css css"); 078 addMimeTypes("text/csv csv"); 079 addMimeTypes("text/html htm html"); 080 addMimeTypes("text/plain txt"); 081 addMimeTypes("video/3gpp 3gp"); 082 addMimeTypes("video/3gpp2 3g2"); 083 addMimeTypes("video/mpeg mpeg"); 084 addMimeTypes("video/ogg ogv"); 085 addMimeTypes("video/webm webm"); 086 addMimeTypes("video/x-msvideo avi"); 087 } 088}