org.mortbay.jetty
Class MimeTypes

java.lang.Object
  extended by org.mortbay.jetty.MimeTypes

public class MimeTypes
extends Object

Author:
Greg Wilkins

Field Summary
private static Map __dftMimeMap
           
private static Map __encodings
           
private  Map _encodingMap
           
private  Map _mimeMap
           
static BufferCache CACHE
           
static String FORM_ENCODED
           
static BufferCache.CachedBuffer FORM_ENCODED_BUFFER
           
private static int FORM_ENCODED_ORDINAL
           
private static int index
           
static String MESSAGE_HTTP
           
static BufferCache.CachedBuffer MESSAGE_HTTP_BUFFER
           
private static int MESSAGE_HTTP_ORDINAL
           
static String MULTIPART_BYTERANGES
           
static BufferCache.CachedBuffer MULTIPART_BYTERANGES_BUFFER
           
private static int MULTIPART_BYTERANGES_ORDINAL
           
static String TEXT_HTML
           
static String TEXT_HTML_8859_1
           
static BufferCache.CachedBuffer TEXT_HTML_8859_1_BUFFER
           
private static int TEXT_HTML_8859_1_ORDINAL
           
static BufferCache.CachedBuffer TEXT_HTML_BUFFER
           
private static int TEXT_HTML_ORDINAL
           
static String TEXT_HTML_UTF_8
           
static BufferCache.CachedBuffer TEXT_HTML_UTF_8_BUFFER
           
private static int TEXT_HTML_UTF_8_ORDINAL
           
static String TEXT_PLAIN
           
static String TEXT_PLAIN_8859_1
           
static BufferCache.CachedBuffer TEXT_PLAIN_8859_1_BUFFER
           
private static int TEXT_PLAIN_8859_1_ORDINAL
           
static BufferCache.CachedBuffer TEXT_PLAIN_BUFFER
           
private static int TEXT_PLAIN_ORDINAL
           
static String TEXT_PLAIN_UTF_8
           
static BufferCache.CachedBuffer TEXT_PLAIN_UTF_8_BUFFER
           
private static int TEXT_PLAIN_UTF_8_ORDINAL
           
static String TEXT_XML
           
static String TEXT_XML_8859_1
           
static BufferCache.CachedBuffer TEXT_XML_8859_1_BUFFER
           
private static int TEXT_XML_8859_1_ORDINAL
           
static BufferCache.CachedBuffer TEXT_XML_BUFFER
           
private static int TEXT_XML_ORDINAL
           
static String TEXT_XML_UTF_8
           
static BufferCache.CachedBuffer TEXT_XML_UTF_8_BUFFER
           
private static int TEXT_XML_UTF_8_ORDINAL
           
 
Constructor Summary
MimeTypes()
          Constructor.
 
Method Summary
 void addMimeMapping(String extension, String type)
          Set a mime mapping
 void addTypeEncoding(String mimeType, String encoding)
          Set the encoding that should be used for a mimeType.
 String getEncodingByMimeType(String type)
          Get char encoding by mime type.
 Map getEncodingMap()
          Get the map of mime type to char encoding.
 Buffer getMimeByExtension(String filename)
          Get the MIME type by filename extension.
 Map getMimeMap()
           
private static Buffer normalizeMimeType(String type)
           
 void setEncodingMap(Map encodingMap)
          Set the map of mime type to char encoding.
 void setMimeMap(Map mimeMap)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FORM_ENCODED

public static final String FORM_ENCODED
See Also:
Constant Field Values

MESSAGE_HTTP

public static final String MESSAGE_HTTP
See Also:
Constant Field Values

MULTIPART_BYTERANGES

public static final String MULTIPART_BYTERANGES
See Also:
Constant Field Values

TEXT_HTML

public static final String TEXT_HTML
See Also:
Constant Field Values

TEXT_PLAIN

public static final String TEXT_PLAIN
See Also:
Constant Field Values

TEXT_XML

public static final String TEXT_XML
See Also:
Constant Field Values

TEXT_HTML_8859_1

public static final String TEXT_HTML_8859_1
See Also:
Constant Field Values

TEXT_PLAIN_8859_1

public static final String TEXT_PLAIN_8859_1
See Also:
Constant Field Values

TEXT_XML_8859_1

public static final String TEXT_XML_8859_1
See Also:
Constant Field Values

TEXT_HTML_UTF_8

public static final String TEXT_HTML_UTF_8
See Also:
Constant Field Values

TEXT_PLAIN_UTF_8

public static final String TEXT_PLAIN_UTF_8
See Also:
Constant Field Values

TEXT_XML_UTF_8

public static final String TEXT_XML_UTF_8
See Also:
Constant Field Values

index

private static int index

FORM_ENCODED_ORDINAL

private static final int FORM_ENCODED_ORDINAL

MESSAGE_HTTP_ORDINAL

private static final int MESSAGE_HTTP_ORDINAL

MULTIPART_BYTERANGES_ORDINAL

private static final int MULTIPART_BYTERANGES_ORDINAL

TEXT_HTML_ORDINAL

private static final int TEXT_HTML_ORDINAL

TEXT_PLAIN_ORDINAL

private static final int TEXT_PLAIN_ORDINAL

TEXT_XML_ORDINAL

private static final int TEXT_XML_ORDINAL

TEXT_HTML_8859_1_ORDINAL

private static final int TEXT_HTML_8859_1_ORDINAL

TEXT_PLAIN_8859_1_ORDINAL

private static final int TEXT_PLAIN_8859_1_ORDINAL

TEXT_XML_8859_1_ORDINAL

private static final int TEXT_XML_8859_1_ORDINAL

TEXT_HTML_UTF_8_ORDINAL

private static final int TEXT_HTML_UTF_8_ORDINAL

TEXT_PLAIN_UTF_8_ORDINAL

private static final int TEXT_PLAIN_UTF_8_ORDINAL

TEXT_XML_UTF_8_ORDINAL

private static final int TEXT_XML_UTF_8_ORDINAL

CACHE

public static final BufferCache CACHE

FORM_ENCODED_BUFFER

public static final BufferCache.CachedBuffer FORM_ENCODED_BUFFER

MESSAGE_HTTP_BUFFER

public static final BufferCache.CachedBuffer MESSAGE_HTTP_BUFFER

MULTIPART_BYTERANGES_BUFFER

public static final BufferCache.CachedBuffer MULTIPART_BYTERANGES_BUFFER

TEXT_HTML_BUFFER

public static final BufferCache.CachedBuffer TEXT_HTML_BUFFER

TEXT_PLAIN_BUFFER

public static final BufferCache.CachedBuffer TEXT_PLAIN_BUFFER

TEXT_XML_BUFFER

public static final BufferCache.CachedBuffer TEXT_XML_BUFFER

TEXT_HTML_8859_1_BUFFER

public static final BufferCache.CachedBuffer TEXT_HTML_8859_1_BUFFER

TEXT_PLAIN_8859_1_BUFFER

public static final BufferCache.CachedBuffer TEXT_PLAIN_8859_1_BUFFER

TEXT_XML_8859_1_BUFFER

public static final BufferCache.CachedBuffer TEXT_XML_8859_1_BUFFER

TEXT_HTML_UTF_8_BUFFER

public static final BufferCache.CachedBuffer TEXT_HTML_UTF_8_BUFFER

TEXT_PLAIN_UTF_8_BUFFER

public static final BufferCache.CachedBuffer TEXT_PLAIN_UTF_8_BUFFER

TEXT_XML_UTF_8_BUFFER

public static final BufferCache.CachedBuffer TEXT_XML_UTF_8_BUFFER

__dftMimeMap

private static final Map __dftMimeMap

__encodings

private static final Map __encodings

_mimeMap

private Map _mimeMap

_encodingMap

private Map _encodingMap
Constructor Detail

MimeTypes

public MimeTypes()
Constructor.

Method Detail

getMimeMap

public Map getMimeMap()

setMimeMap

public void setMimeMap(Map mimeMap)
Parameters:
mimeMap - A Map of file extension to mime-type.

getMimeByExtension

public Buffer getMimeByExtension(String filename)
Get the MIME type by filename extension.

Parameters:
filename - A file name
Returns:
MIME type matching the longest dot extension of the file name.

addMimeMapping

public void addMimeMapping(String extension,
                           String type)
Set a mime mapping

Parameters:
extension -
type -

getEncodingMap

public Map getEncodingMap()
Get the map of mime type to char encoding.

Returns:
Map of mime type to character encodings.

setEncodingMap

public void setEncodingMap(Map encodingMap)
Set the map of mime type to char encoding. Also sets the org.mortbay.http.encodingMap context attribute

Parameters:
encodingMap - Map of mime type to character encodings.

getEncodingByMimeType

public String getEncodingByMimeType(String type)
Get char encoding by mime type.

Parameters:
type - A mime type.
Returns:
The prefered character encoding for that type if known.

addTypeEncoding

public void addTypeEncoding(String mimeType,
                            String encoding)
Set the encoding that should be used for a mimeType.

Parameters:
mimeType -
encoding -

normalizeMimeType

private static Buffer normalizeMimeType(String type)