org.restlet.service
Class MetadataService

java.lang.Object
  extended by org.restlet.service.Service
      extended by org.restlet.service.MetadataService

public class MetadataService
extends Service

Application service providing access to metadata and their associated extension names. The list of default mappings is documented in the addCommonExtensions() method.

Internally, the mappings are stored as a list of "extension, metadata" pairs.

Author:
Jerome Louvel

Constructor Summary
MetadataService()
          Constructor.
 
Method Summary
 void addCommonExtensions()
          Adds a common list of associations from extensions to metadata.
 void addExtension(String extension, Metadata metadata)
          Maps an extension to some metadata (media type, language or character set) to an extension.
 void addExtension(String extension, Metadata metadata, boolean preferred)
          Maps an extension to some metadata (media type, language or character set) to an extension.
 void clearExtensions()
          clears the mappings for all extensions.
 List<MediaType> getAllMediaTypes(String extension)
          Returns all the media types associated to this extension.
 List<Metadata> getAllMetadata(String extension)
          Returns all the metadata associated to this extension.
 CharacterSet getCharacterSet(String extension)
          Returns the character set associated to this extension.
 CharacterSet getDefaultCharacterSet()
          Returns the default character set for textual representations.
 Encoding getDefaultEncoding()
          Returns the default encoding for representations.
 Language getDefaultLanguage()
          Returns the default language for representations.
 MediaType getDefaultMediaType()
          Returns the default media type for representations.
 Encoding getEncoding(String extension)
          Returns the encoding associated to this extension.
 String getExtension(Metadata metadata)
          Returns the first extension mapping to this metadata.
 Language getLanguage(String extension)
          Returns the language associated to this extension.
 MediaType getMediaType(String extension)
          Returns the mediatype associated to this extension.
 Metadata getMetadata(String extension)
          Returns the metadata associated to this extension.
<T extends Metadata>
T
getMetadata(String extension, Class<T> metadataType)
          Returns the metadata associated to this extension.
 void setDefaultCharacterSet(CharacterSet defaultCharacterSet)
          Sets the default character set for local representations.
 void setDefaultEncoding(Encoding defaultEncoding)
          Sets the default encoding for local representations.
 void setDefaultLanguage(Language defaultLanguage)
          Sets the default language for local representations.
 void setDefaultMediaType(MediaType defaultMediaType)
          Sets the default media type for local representations.
 
Methods inherited from class org.restlet.service.Service
createInboundFilter, createOutboundFilter, getContext, isEnabled, isStarted, isStopped, setContext, setEnabled, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MetadataService

public MetadataService()
Constructor. Sets the default language to Language.ENGLISH_US, the default encoding to Encoding.IDENTITY (no encoding) and the default media type to MediaType.APPLICATION_OCTET_STREAM. It also calls the addCommonExtensions() method.

Method Detail

addCommonExtensions

public void addCommonExtensions()
Adds a common list of associations from extensions to metadata. The list of languages extensions:

The list of media type extensions:


addExtension

public void addExtension(String extension,
                         Metadata metadata)
Maps an extension to some metadata (media type, language or character set) to an extension.

Parameters:
extension - The extension name.
metadata - The metadata to map.

addExtension

public void addExtension(String extension,
                         Metadata metadata,
                         boolean preferred)
Maps an extension to some metadata (media type, language or character set) to an extension.

Parameters:
extension - The extension name.
metadata - The metadata to map.
preferred - indicates if this mapping is the preferred one.

clearExtensions

public void clearExtensions()
clears the mappings for all extensions.


getAllMediaTypes

public List<MediaType> getAllMediaTypes(String extension)
Returns all the media types associated to this extension. It returns null if the extension was not declared.

Parameters:
extension - The extension name without any delimiter.
Returns:
The list of media type associated to this extension.

getAllMetadata

public List<Metadata> getAllMetadata(String extension)
Returns all the metadata associated to this extension. It returns null if the extension was not declared.

Parameters:
extension - The extension name without any delimiter.
Returns:
The list of metadata associated to this extension.

getCharacterSet

public CharacterSet getCharacterSet(String extension)
Returns the character set associated to this extension. It returns null if the extension was not declared of it is corresponds to another type of medatata such as a media type. If several metadata are associated to the same extension then only the first matching metadata is returned.

Parameters:
extension - The extension name without any delimiter.
Returns:
The character set associated to this extension.

getDefaultCharacterSet

public CharacterSet getDefaultCharacterSet()
Returns the default character set for textual representations.

Returns:
The default character set for textual representations.

getDefaultEncoding

public Encoding getDefaultEncoding()
Returns the default encoding for representations.

Returns:
The default encoding for representations.

getDefaultLanguage

public Language getDefaultLanguage()
Returns the default language for representations.

Returns:
The default language for representations.

getDefaultMediaType

public MediaType getDefaultMediaType()
Returns the default media type for representations.

Returns:
The default media type for representations.

getEncoding

public Encoding getEncoding(String extension)
Returns the encoding associated to this extension. It returns null if the extension was not declared of it is corresponds to another type of medatata such as a media type. If several metadata are associated to the same extension then only the first matching metadata is returned.

Parameters:
extension - The extension name without any delimiter.
Returns:
The encoding associated to this extension.

getExtension

public String getExtension(Metadata metadata)
Returns the first extension mapping to this metadata.

Parameters:
metadata - The metadata to find.
Returns:
The first extension mapping to this metadata.

getLanguage

public Language getLanguage(String extension)
Returns the language associated to this extension. It returns null if the extension was not declared of it is corresponds to another type of medatata such as a media type. If several metadata are associated to the same extension then only the first matching metadata is returned.

Parameters:
extension - The extension name without any delimiter.
Returns:
The language associated to this extension.

getMediaType

public MediaType getMediaType(String extension)
Returns the mediatype associated to this extension. It returns null if the extension was not declared of it is corresponds to another type of medatata such as a language. If several metadata are associated to the same extension (ex: 'xml' for both 'text/xml' and 'application/xml') then only the first matching metadata is returned.

Parameters:
extension - The extension name without any delimiter.
Returns:
The media type associated to this extension.

getMetadata

public Metadata getMetadata(String extension)
Returns the metadata associated to this extension. It returns null if the extension was not declared. If several metadata are associated to the same extension (ex: 'xml' for both 'text/xml' and 'application/xml') then only the first matching metadata is returned.

Parameters:
extension - The extension name without any delimiter.
Returns:
The metadata associated to this extension.

getMetadata

public <T extends Metadata> T getMetadata(String extension,
                                          Class<T> metadataType)
Returns the metadata associated to this extension. It returns null if the extension was not declared or is not of the target metadata type.

Type Parameters:
T -
Parameters:
extension - The extension name without any delimiter.
metadataType - The target metadata type.
Returns:
The metadata associated to this extension.

setDefaultCharacterSet

public void setDefaultCharacterSet(CharacterSet defaultCharacterSet)
Sets the default character set for local representations.

Parameters:
defaultCharacterSet - The default character set for local representations.

setDefaultEncoding

public void setDefaultEncoding(Encoding defaultEncoding)
Sets the default encoding for local representations.

Parameters:
defaultEncoding - The default encoding for local representations.

setDefaultLanguage

public void setDefaultLanguage(Language defaultLanguage)
Sets the default language for local representations.

Parameters:
defaultLanguage - The default language for local representations.

setDefaultMediaType

public void setDefaultMediaType(MediaType defaultMediaType)
Sets the default media type for local representations.

Parameters:
defaultMediaType - The default media type for local representations.


Copyright © 2005-2013 Restlet S.A.S..