org.codehaus.jackson.map
Class DeserializationContext

java.lang.Object
  extended by org.codehaus.jackson.map.DeserializationContext
Direct Known Subclasses:
StdDeserializationContext

public abstract class DeserializationContext
extends Object

Context for deserialization process. Used to allow passing in configuration settings and reusable temporary objects (scrap arrays, containers).


Field Summary
protected  DeserializationConfig _config
           
 
Constructor Summary
protected DeserializationContext(DeserializationConfig config)
           
 
Method Summary
abstract  Calendar constructCalendar(Date d)
          Convenience method for constructing Calendar instance set to specified time, to be modified and used by caller.
abstract  ArrayBuilders getArrayBuilders()
          Method for accessing object useful for building arrays of primitive types (such as int[]).
 Base64Variant getBase64Variant()
          Convenience method for accessing the default Base64 encoding used for decoding base64 encoded binary content.
 DeserializationConfig getConfig()
          Method for accessing configuration setting object for currently active deserialization.
 DeserializerProvider getDeserializerProvider()
          Returns provider that can be used for dynamically locating other deserializers during runtime.
 JsonNodeFactory getNodeFactory()
           
abstract  JsonParser getParser()
          Accessor for getting access to the underlying JSON parser used for deserialization.
abstract  boolean handleUnknownProperty(JsonParser jp, JsonDeserializer<?> deser, Object instanceOrClass, String propName)
          Method deserializers can call to inform configured DeserializationProblemHandlers of an unrecognized property.
abstract  JsonMappingException instantiationException(Class<?> instClass, Exception e)
          Helper method for constructing instantiation exception for specified type, to indicate problem with physically constructing instance of specified class (missing constructor, exception from constructor)
abstract  JsonMappingException instantiationException(Class<?> instClass, String msg)
           
 boolean isEnabled(DeserializationConfig.Feature feat)
          Convenience method for checking whether specified on/off feature is enabled
abstract  ObjectBuffer leaseObjectBuffer()
          Method that can be used to get access to a reusable ObjectBuffer, useful for efficiently constructing Object arrays and Lists.
abstract  JsonMappingException mappingException(Class<?> targetClass)
          Helper method for constructing generic mapping exception for specified type
abstract  Date parseDate(String dateStr)
          Convenience method for parsing a Date from given String, using currently configured date format (accessed using DeserializationConfig.getDateFormat()).
abstract  void returnObjectBuffer(ObjectBuffer buf)
          Method to call to return object buffer previously leased with leaseObjectBuffer().
abstract  JsonMappingException unknownFieldException(Object instanceOrClass, String fieldName)
          Helper method for constructing exception to indicate that JSON Object field name did not map to a known property of type being deserialized.
abstract  JsonMappingException unknownTypeException(JavaType baseType, String id)
          Helper method for constructing exception to indicate that given type id (parsed from JSON) could not be converted to a Java type.
abstract  JsonMappingException weirdKeyException(Class<?> keyClass, String keyValue, String msg)
          Helper method for constructing exception to indicate that given JSON Object field name was not in format to be able to deserialize specified key type.
abstract  JsonMappingException weirdNumberException(Class<?> instClass, String msg)
          Helper method for constructing exception to indicate that input JSON Number was not suitable for deserializing into given type.
abstract  JsonMappingException weirdStringException(Class<?> instClass, String msg)
          Helper method for constructing exception to indicate that input JSON String was not in recognized format for deserializing into given type.
abstract  JsonMappingException wrongTokenException(JsonParser jp, JsonToken expToken, String msg)
          Helper method for indicating that the current token was expected to be another token.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_config

protected final DeserializationConfig _config
Constructor Detail

DeserializationContext

protected DeserializationContext(DeserializationConfig config)
Method Detail

getConfig

public DeserializationConfig getConfig()
Method for accessing configuration setting object for currently active deserialization.


getDeserializerProvider

public DeserializerProvider getDeserializerProvider()
Returns provider that can be used for dynamically locating other deserializers during runtime.

Since:
1.5

isEnabled

public boolean isEnabled(DeserializationConfig.Feature feat)
Convenience method for checking whether specified on/off feature is enabled


getBase64Variant

public Base64Variant getBase64Variant()
Convenience method for accessing the default Base64 encoding used for decoding base64 encoded binary content. Same as calling:
  getConfig().getBase64Variant();


getParser

public abstract JsonParser getParser()
Accessor for getting access to the underlying JSON parser used for deserialization.


getNodeFactory

public final JsonNodeFactory getNodeFactory()

leaseObjectBuffer

public abstract ObjectBuffer leaseObjectBuffer()
Method that can be used to get access to a reusable ObjectBuffer, useful for efficiently constructing Object arrays and Lists. Note that leased buffers should be returned once deserializer is done, to allow for reuse during same round of deserialization.


returnObjectBuffer

public abstract void returnObjectBuffer(ObjectBuffer buf)
Method to call to return object buffer previously leased with leaseObjectBuffer().

Parameters:
buf - Returned object buffer

getArrayBuilders

public abstract ArrayBuilders getArrayBuilders()
Method for accessing object useful for building arrays of primitive types (such as int[]).


parseDate

public abstract Date parseDate(String dateStr)
                        throws IllegalArgumentException
Convenience method for parsing a Date from given String, using currently configured date format (accessed using DeserializationConfig.getDateFormat()).

Implementation will handle thread-safety issues related to date formats such that first time this method is called, date format is cloned, and cloned instance will be retained for use during this deserialization round.

Throws:
IllegalArgumentException

constructCalendar

public abstract Calendar constructCalendar(Date d)
Convenience method for constructing Calendar instance set to specified time, to be modified and used by caller.


handleUnknownProperty

public abstract boolean handleUnknownProperty(JsonParser jp,
                                              JsonDeserializer<?> deser,
                                              Object instanceOrClass,
                                              String propName)
                                       throws IOException,
                                              JsonProcessingException
Method deserializers can call to inform configured DeserializationProblemHandlers of an unrecognized property.

Returns:
True if there was a configured problem handler that was able to handle the proble
Throws:
IOException
JsonProcessingException
Since:
1.5

mappingException

public abstract JsonMappingException mappingException(Class<?> targetClass)
Helper method for constructing generic mapping exception for specified type


instantiationException

public abstract JsonMappingException instantiationException(Class<?> instClass,
                                                            Exception e)
Helper method for constructing instantiation exception for specified type, to indicate problem with physically constructing instance of specified class (missing constructor, exception from constructor)


instantiationException

public abstract JsonMappingException instantiationException(Class<?> instClass,
                                                            String msg)

weirdStringException

public abstract JsonMappingException weirdStringException(Class<?> instClass,
                                                          String msg)
Helper method for constructing exception to indicate that input JSON String was not in recognized format for deserializing into given type.


weirdNumberException

public abstract JsonMappingException weirdNumberException(Class<?> instClass,
                                                          String msg)
Helper method for constructing exception to indicate that input JSON Number was not suitable for deserializing into given type.


weirdKeyException

public abstract JsonMappingException weirdKeyException(Class<?> keyClass,
                                                       String keyValue,
                                                       String msg)
Helper method for constructing exception to indicate that given JSON Object field name was not in format to be able to deserialize specified key type.


wrongTokenException

public abstract JsonMappingException wrongTokenException(JsonParser jp,
                                                         JsonToken expToken,
                                                         String msg)
Helper method for indicating that the current token was expected to be another token.


unknownFieldException

public abstract JsonMappingException unknownFieldException(Object instanceOrClass,
                                                           String fieldName)
Helper method for constructing exception to indicate that JSON Object field name did not map to a known property of type being deserialized.

Parameters:
instanceOrClass - Either value being populated (if one has been instantiated), or Class that indicates type that would be (or have been) instantiated

unknownTypeException

public abstract JsonMappingException unknownTypeException(JavaType baseType,
                                                          String id)
Helper method for constructing exception to indicate that given type id (parsed from JSON) could not be converted to a Java type.

Since:
1.5