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
 List<Class<?>> getObjectClasses(Variant source)
          Returns the list of object classes that can be converted from a given variant.
 List<? extends Variant> getVariants(Class<?> source, Variant target)
          Returns the list of variants that can be converted from a given object class.
 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

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.

getVariants

public List<? extends Variant> getVariants(Class<?> source,
                                           Variant target)
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.

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)
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.

toRepresentation

public Representation toRepresentation(Object source,
                                       Variant target,
                                       Resource resource)
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.

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.


Copyright © 2005-2013 Restlet.