org.restlet.ext.jackson
Class JacksonConverter

java.lang.Object
  extended by org.restlet.engine.Helper
      extended by org.restlet.engine.converter.ConverterHelper
          extended by org.restlet.ext.jackson.JacksonConverter

public class JacksonConverter
extends ConverterHelper

Converter between the JSON and Representation classes based on Jackson.

Author:
Jerome Louvel

Constructor Summary
JacksonConverter()
           
 
Method Summary
protected
<T> JacksonRepresentation<T>
create(MediaType mediaType, T source)
          Creates the marshaling JacksonRepresentation.
protected
<T> JacksonRepresentation<T>
create(Representation source, Class<T> objectClass)
          Creates the unmarshaling JacksonRepresentation.
protected
<T> JacksonSmileRepresentation<T>
createBinary(MediaType mediaType, T source)
          Creates the marshaling JacksonSmileRepresentation.
protected
<T> JacksonSmileRepresentation<T>
createBinary(Representation source, Class<T> objectClass)
          Creates the unmarshaling JacksonSmileRepresentation.
protected  org.codehaus.jackson.map.ObjectMapper createBinaryObjectMapper()
          Creates a Jackson object mapper for binary representations based on a media type.
protected  org.codehaus.jackson.map.ObjectMapper createObjectMapper()
          Creates a Jackson object mapper based on a media type.
 org.codehaus.jackson.map.ObjectMapper getBinaryObjectMapper()
          Returns the modifiable Jackson binary object mapper.
 List<Class<?>> getObjectClasses(Variant source)
           
 org.codehaus.jackson.map.ObjectMapper getObjectMapper()
          Returns the modifiable Jackson object mapper.
 List<VariantInfo> getVariants(Class<?> source)
           
 float score(Object source, Variant target, Resource resource)
           
<T> float
score(Representation source, Class<T> target, Resource resource)
           
 void setBinaryObjectMapper(org.codehaus.jackson.map.ObjectMapper objectMapper)
          Sets the Jackson binary object mapper.
 void setObjectMapper(org.codehaus.jackson.map.ObjectMapper objectMapper)
          Sets the Jackson object mapper.
<T> T
toObject(Representation source, Class<T> target, Resource resource)
           
 Representation toRepresentation(Object source, Variant target, Resource resource)
           
<T> void
updatePreferences(List<Preference<MediaType>> preferences, Class<T> entity)
           
 
Methods inherited from class org.restlet.engine.converter.ConverterHelper
addObjectClass, addVariant, addVariants, getVariants, updatePreferences
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JacksonConverter

public JacksonConverter()
Method Detail

create

protected <T> JacksonRepresentation<T> create(MediaType mediaType,
                                              T source)
Creates the marshaling JacksonRepresentation.

Type Parameters:
T -
Parameters:
mediaType - The target media type.
source - The source object to marshal.
Returns:
The marshaling JacksonRepresentation.

create

protected <T> JacksonRepresentation<T> create(Representation source,
                                              Class<T> objectClass)
Creates the unmarshaling JacksonRepresentation.

Type Parameters:
T -
Parameters:
source - The source representation to unmarshal.
objectClass - The object class to instantiate.
Returns:
The unmarshaling JacksonRepresentation.

createBinary

protected <T> JacksonSmileRepresentation<T> createBinary(MediaType mediaType,
                                                         T source)
Creates the marshaling JacksonSmileRepresentation.

Type Parameters:
T -
Parameters:
mediaType - The target media type.
source - The source object to marshal.
Returns:
The marshaling JacksonSmileRepresentation.

createBinary

protected <T> JacksonSmileRepresentation<T> createBinary(Representation source,
                                                         Class<T> objectClass)
Creates the unmarshaling JacksonSmileRepresentation.

Type Parameters:
T -
Parameters:
source - The source representation to unmarshal.
objectClass - The object class to instantiate.
Returns:
The unmarshaling JacksonSmileRepresentation.

createBinaryObjectMapper

protected org.codehaus.jackson.map.ObjectMapper createBinaryObjectMapper()
Creates a Jackson object mapper for binary representations based on a media type. By default, it calls ObjectMapper#ObjectMapper(SmileFactory).

Returns:
The Jackson object mapper.

createObjectMapper

protected org.codehaus.jackson.map.ObjectMapper createObjectMapper()
Creates a Jackson object mapper based on a media type. By default, it calls ObjectMapper.ObjectMapper(JsonFactory).

Returns:
The Jackson object mapper.

getBinaryObjectMapper

public org.codehaus.jackson.map.ObjectMapper getBinaryObjectMapper()
Returns the modifiable Jackson binary object mapper. Useful to customize mappings.

Returns:
The modifiable Jackson binary object mapper.

getObjectClasses

public List<Class<?>> getObjectClasses(Variant source)
Specified by:
getObjectClasses in class ConverterHelper

getObjectMapper

public org.codehaus.jackson.map.ObjectMapper getObjectMapper()
Returns the modifiable Jackson object mapper. Useful to customize mappings.

Returns:
The modifiable Jackson object mapper.

getVariants

public List<VariantInfo> getVariants(Class<?> source)
Specified by:
getVariants in class ConverterHelper

score

public float score(Object source,
                   Variant target,
                   Resource resource)
Specified by:
score in class ConverterHelper

score

public <T> float score(Representation source,
                       Class<T> target,
                       Resource resource)
Specified by:
score in class ConverterHelper

setBinaryObjectMapper

public void setBinaryObjectMapper(org.codehaus.jackson.map.ObjectMapper objectMapper)
Sets the Jackson binary object mapper.

Parameters:
objectMapper - The Jackson binary object mapper.

setObjectMapper

public void setObjectMapper(org.codehaus.jackson.map.ObjectMapper objectMapper)
Sets the Jackson object mapper.

Parameters:
objectMapper - The Jackson object mapper.

toObject

public <T> T toObject(Representation source,
                      Class<T> target,
                      Resource resource)
           throws IOException
Specified by:
toObject in class ConverterHelper
Throws:
IOException

toRepresentation

public Representation toRepresentation(Object source,
                                       Variant target,
                                       Resource resource)
Specified by:
toRepresentation in class ConverterHelper

updatePreferences

public <T> void updatePreferences(List<Preference<MediaType>> preferences,
                                  Class<T> entity)
Overrides:
updatePreferences in class ConverterHelper


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