Restlet Framework 2.2.1
Java Standard Edition

org.restlet.service
Class ConverterService

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

public class ConverterService
extends Service

Application service converting between representation and regular Java objects. The conversion can work in both directions. Actual converters can be plugged into the engine to support this service.

Root object classes used for conversion shouldn't be generic classes otherwise important contextual type information will be missing at runtime due to Java type erasure mechanism. If needed, create a fully resolved subclasses and/or a container classes.

Author:
Jerome Louvel

Constructor Summary
ConverterService()
          Constructor.
ConverterService(boolean enabled)
          Constructor.
 
Method Summary
 Representation applyPatch(Representation initial, Representation patch)
          Applies a patch representation to an initial representation in order to obtain a modified one.
 Representation createPatch(Representation initial, Representation modified)
          Creates a patch representation by calculating a diff between initial and modified representations.
 List<Class<?>> getObjectClasses(Variant source)
          Returns the list of object classes that can be converted from a given variant.
 List<MediaType> getPatchTypes(MediaType representationType)
          Returns the list of patch media types available for the given representation types.
 List<? extends Variant> getVariants(Class<?> source, Variant target)
          Returns the list of variants that can be converted from a given object class.
 Representation revertPatch(Representation modified, Representation patch)
          Reverts a patch representation from a modified representation in order to obtain the initial one.
 Object toObject(Representation source)
          Converts a Representation into a regular Java object.
<T> T
toObject(Representation source, Class<T> target, Resource resource)
          Converts a Representation into a regular Java object.
 Representation toRepresentation(Object source)
          Converts a regular Java object into a Representation.
 Representation toRepresentation(Object source, Variant target, Resource resource)
          Converts a regular Java object into a Representation.
 void updatePreferences(List<Preference<MediaType>> preferences, Class<?> entity)
          Updates the media type preferences with available conversion capabilities for the given entity class.
 
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

ConverterService

public ConverterService()
Constructor.


ConverterService

public ConverterService(boolean enabled)
Constructor.

Parameters:
enabled - True if the service has been enabled.
Method Detail

applyPatch

public Representation applyPatch(Representation initial,
                                 Representation patch)
                          throws IOException
Applies a patch representation to an initial representation in order to obtain a modified one. The patch must have a recognized media type in order for the ConverterService to be able to process it.

Parameters:
initial - The initial representation on which the patch must be applied.
patch - The patch representation to apply.
Returns:
The modified representation.
Throws:
IOException

createPatch

public Representation createPatch(Representation initial,
                                  Representation modified)
                           throws IOException
Creates a patch representation by calculating a diff between initial and modified representations.

Parameters:
initial - The initial representation.
modified - The modified representation.
Returns:
The patch representation able to convert the initial representation into the modified representation.
Throws:
IOException

getObjectClasses

public List<Class<?>> getObjectClasses(Variant source)
Returns the list of object classes that can be converted from a given variant.

Parameters:
source - The source variant.
Returns:
The list of object class that can be converted.

getPatchTypes

public List<MediaType> getPatchTypes(MediaType representationType)
Returns the list of patch media types available for the given representation types.

Parameters:
representationType - The representation media type or null for all supported patch types.
Returns:
The list of patch media types available.

getVariants

public List<? extends Variant> getVariants(Class<?> source,
                                           Variant target)
                                    throws IOException
Returns the list of variants that can be converted from a given object class.

Parameters:
source - The source class.
target - The expected representation metadata.
Returns:
The list of variants that can be converted.
Throws:
IOException

revertPatch

public Representation revertPatch(Representation modified,
                                  Representation patch)
                           throws IOException
Reverts a patch representation from a modified representation in order to obtain the initial one. The patch must have a recognized media type in order for the ConverterService to be able to process it.

Parameters:
modified - The modified representation from which the patch must be reverted.
patch - The patch representation to revert.
Returns:
The initial representation.
Throws:
IOException

toObject

public Object toObject(Representation source)
                throws IOException
Converts a Representation into a regular Java object.

Parameters:
source - The source representation to convert.
Returns:
The converted Java object.
Throws:
IOException

toObject

public <T> T toObject(Representation source,
                      Class<T> target,
                      Resource resource)
           throws IOException
Converts a Representation into a regular Java object.

Type Parameters:
T - The expected class of the Java object.
Parameters:
source - The source representation to convert.
target - The target class of the Java object.
resource - The parent resource.
Returns:
The converted Java object.
Throws:
IOException

toRepresentation

public Representation toRepresentation(Object source)
                                throws IOException
Converts a regular Java object into a Representation. The converter will use the preferred variant of the selected converter.

Parameters:
source - The source object to convert.
Returns:
The converted representation.
Throws:
IOException

toRepresentation

public Representation toRepresentation(Object source,
                                       Variant target,
                                       Resource resource)
                                throws IOException
Converts a regular Java object into a Representation.

Parameters:
source - The source object to convert.
target - The target representation variant.
resource - The parent resource.
Returns:
The converted representation.
Throws:
IOException

updatePreferences

public void updatePreferences(List<Preference<MediaType>> preferences,
                              Class<?> entity)
Updates the media type preferences with available conversion capabilities for the given entity class.

Parameters:
preferences - The media type preferences.
entity - The entity class to convert.

Restlet Framework 2.2.1
Java Standard Edition

Copyright © 2005-2014 Restlet.