Home » apache-tomcat-6.0.26-src » org.apache » tomcat » util » [javadoc | source]

    1   /*
    2    * $Header: /u/cvs/Projects/EnhydraOrg/enhydra3x/Enhydra/modules/Tomcat/src/share/org/apache/tomcat/util/MimeMap.java,v 1.2 2000/02/26 02:32:30 shawn Exp $
    3    * $Revision: 1.2 $
    4    * $Date: 2000/02/26 02:32:30 $
    5    *
    6    * ====================================================================
    7    *
    8    * The Apache Software License, Version 1.1
    9    *
   10    * Copyright (c) 1999 The Apache Software Foundation.  All rights 
   11    * reserved.
   12    *
   13    * Redistribution and use in source and binary forms, with or without
   14    * modification, are permitted provided that the following conditions
   15    * are met:
   16    *
   17    * 1. Redistributions of source code must retain the above copyright
   18    *    notice, this list of conditions and the following disclaimer. 
   19    *
   20    * 2. Redistributions in binary form must reproduce the above copyright
   21    *    notice, this list of conditions and the following disclaimer in
   22    *    the documentation and/or other materials provided with the
   23    *    distribution.
   24    *
   25    * 3. The end-user documentation included with the redistribution, if
   26    *    any, must include the following acknowlegement:  
   27    *       "This product includes software developed by the 
   28    *        Apache Software Foundation (http://www.apache.org/)."
   29    *    Alternately, this acknowlegement may appear in the software itself,
   30    *    if and wherever such third-party acknowlegements normally appear.
   31    *
   32    * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   33    *    Foundation" must not be used to endorse or promote products derived
   34    *    from this software without prior written permission. For written 
   35    *    permission, please contact apache@apache.org.
   36    *
   37    * 5. Products derived from this software may not be called "Apache"
   38    *    nor may "Apache" appear in their names without prior written
   39    *    permission of the Apache Group.
   40    *
   41    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   42    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   43    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   44    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   45    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   46    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   47    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   48    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   49    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   50    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   51    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   52    * SUCH DAMAGE.
   53    * ====================================================================
   54    *
   55    * This software consists of voluntary contributions made by many
   56    * individuals on behalf of the Apache Software Foundation.  For more
   57    * information on the Apache Software Foundation, please see
   58    * <http://www.apache.org/>.
   59    *
   60    * [Additional notices, if required by prior licensing conditions]
   61    *
   62    */ 
   63   
   64   
   65   package org.apache.tomcat.util;
   66   
   67   import java.net;
   68   import java.util;
   69   
   70   
   71   /**
   72    * A mime type map that implements the java.net.FileNameMap interface.
   73    *
   74    * @author James Duncan Davidson [duncan@eng.sun.com]
   75    * @author Jason Hunter [jch@eng.sun.com]
   76    */
   77   
   78   public class MimeMap implements FileNameMap {
   79   
   80       private Hashtable map = new Hashtable();
   81   
   82       public void addContentType(String extn, String type) {
   83           map.put(extn, type.toLowerCase());
   84       }
   85   
   86       public Enumeration getExtensions() {
   87           return map.keys();
   88       }
   89   
   90       public String getContentType(String extn) {
   91           String type = (String)map.get(extn.toLowerCase());
   92   	return type;
   93       }
   94   
   95       public void removeContentType(String extn) {
   96           map.remove(extn.toLowerCase());
   97       }
   98       
   99       public String getContentTypeFor(String fileName) {
  100           // play it safe and get rid of any fragment id
  101           // that might be there
  102           int i = fileName.lastIndexOf('#');
  103           if (i != -1) {
  104               fileName = fileName.substring(0, i);
  105           }
  106           i = fileName.lastIndexOf('.');
  107           if (i != -1) {
  108               String extn = fileName.substring(i + 1, fileName.length());
  109               String type = getContentType(extn.toLowerCase());
  110               return type;
  111           } else {
  112               // no extension, no content type
  113               return null;
  114           }
  115       }
  116   }

Home » apache-tomcat-6.0.26-src » org.apache » tomcat » util » [javadoc | source]