org.apache.fulcrum.mimetype
Interface MimeTypeService

All Known Implementing Classes:
DefaultMimeTypeService

public interface MimeTypeService

The MimeType Service maintains mappings between MIME types and the corresponding file name extensions, and between locales and character encodings. The mappings are typically defined in properties or files located in user's home directory, Java home directory or the current class jar depending on the implementation.

Version:
$Id: MimeTypeService.java 535465 2007-05-05 06:58:06Z tv $
Author:
Ilkka Priha, Stephen McConnell

Field Summary
static String ROLE
          Avalon role - used to id the component within the manager
 
Method Summary
 String getCharSet(Locale locale)
          Gets the charset for a locale.
 String getCharSet(Locale locale, String variant)
          Gets the charset for a locale with a variant.
 String getCharSet(String key)
          Gets the charset for a specified key.
 String getCharSet(String key, String def)
          Gets the charset for a specified key.
 String getContentType(File file)
          Gets the MIME content type for a file as a string.
 String getContentType(String fileName)
          Gets the MIME content type for a named file as a string.
 String getContentType(String fileName, String def)
          Gets the MIME content type for a file name extension as a string.
 String getDefaultExtension(MimeType mime)
          Gets the default file name extension for a MIME type.
 String getDefaultExtension(String type)
          Gets the default file name extension for a MIME type.
 MimeType getMimeContentType(File file)
          Gets the MIME content type for a file.
 MimeType getMimeContentType(String name)
          Gets the MIME content type for a named file.
 MimeType getMimeContentType(String ext, String def)
          Gets the MIME content type for a file name extension.
 void setCharSet(String key, String charset)
          Sets a locale-charset mapping.
 void setContentType(String spec)
          Sets a MIME content type mapping to extensions to the map.
 

Field Detail

ROLE

static final String ROLE
Avalon role - used to id the component within the manager

Method Detail

setContentType

void setContentType(String spec)
Sets a MIME content type mapping to extensions to the map. The extension is specified by a MIME type name followed by a list of file name extensions separated by a whitespace.

Parameters:
spec - a MIME type extension specification to add.

getContentType

String getContentType(File file)
Gets the MIME content type for a file as a string.

Parameters:
file - The file to look up a MIME type mapping for.
Returns:
the MIME type string.

getContentType

String getContentType(String fileName)
Gets the MIME content type for a named file as a string.

Parameters:
fileName - The name of the file to look up a MIME type mapping for.
Returns:
the MIME type string.

getContentType

String getContentType(String fileName,
                      String def)
Gets the MIME content type for a file name extension as a string.

Parameters:
fileName - The name of the file to look up a MIME type mapping for.
def - The default MIME type to use if no mapping exists.
Returns:
the MIME type string.

getMimeContentType

MimeType getMimeContentType(File file)
Gets the MIME content type for a file.

Parameters:
file - the file.
Returns:
the MIME type.

getMimeContentType

MimeType getMimeContentType(String name)
Gets the MIME content type for a named file.

Parameters:
name - the name of the file.
Returns:
the MIME type.

getMimeContentType

MimeType getMimeContentType(String ext,
                            String def)
Gets the MIME content type for a file name extension.

Parameters:
ext - the file name extension.
def - the default type if none is found.
Returns:
the MIME type.

getDefaultExtension

String getDefaultExtension(String type)
Gets the default file name extension for a MIME type. Note that the mappers are called in the reverse order.

Parameters:
type - the MIME type as a string.
Returns:
the file name extension or null.

getDefaultExtension

String getDefaultExtension(MimeType mime)
Gets the default file name extension for a MIME type. Note that the mappers are called in the reverse order.

Parameters:
mime - the MIME type.
Returns:
the file name extension or null.

setCharSet

void setCharSet(String key,
                String charset)
Sets a locale-charset mapping.

Parameters:
key - the key for the charset.
charset - the corresponding charset.

getCharSet

String getCharSet(Locale locale)
Gets the charset for a locale. First a locale specific charset is searched for, then a country specific one and lastly a language specific one. If none is found, the default charset is returned.

Parameters:
locale - the locale.
Returns:
the charset.

getCharSet

String getCharSet(Locale locale,
                  String variant)
Gets the charset for a locale with a variant. The search is performed in the following order: "lang"_"country"_"variant"="charset", _"counry"_"variant"="charset", "lang"__"variant"="charset", __"variant"="charset", "lang"_"country"="charset", _"country"="charset", "lang"="charset". If nothing of the above is found, the default charset is returned.

Parameters:
locale - the locale.
variant - a variant field.
Returns:
the charset.

getCharSet

String getCharSet(String key)
Gets the charset for a specified key.

Parameters:
key - the key for the charset.
Returns:
the found charset or the default one.

getCharSet

String getCharSet(String key,
                  String def)
Gets the charset for a specified key.

Parameters:
key - the key for the charset.
def - the default charset if none is found.
Returns:
the found charset or the given default.


Copyright © 2004-2009 The Apache Software Foundation. All Rights Reserved.