org.codehaus.jackson.map.deser
Class StdDeserializationContext

java.lang.Object
  extended by org.codehaus.jackson.map.DeserializationContext
      extended by org.codehaus.jackson.map.deser.StdDeserializationContext

public class StdDeserializationContext
extends DeserializationContext

Default implementation of DeserializationContext.


Field Summary
protected  ArrayBuilders _arrayBuilders
           
protected  DateFormat _dateFormat
           
protected  DeserializerProvider _deserProvider
           
protected  ObjectBuffer _objectBuffer
           
protected  JsonParser _parser
          Currently active parser used for deserialization.
 
Fields inherited from class org.codehaus.jackson.map.DeserializationContext
_config, _featureFlags
 
Constructor Summary
StdDeserializationContext(DeserializationConfig config, JsonParser jp, DeserializerProvider prov)
           
 
Method Summary
protected  String _calcName(Class<?> cls)
           
protected  String _desc(String desc)
           
protected  String _valueDesc()
           
 Calendar constructCalendar(Date d)
          Convenience method for constructing Calendar instance set to specified time, to be modified and used by caller.
protected  String determineClassName(Object instance)
           
 ArrayBuilders getArrayBuilders()
          Method for accessing object useful for building arrays of primitive types (such as int[]).
protected  DateFormat getDateFormat()
           
 DeserializerProvider getDeserializerProvider()
          Returns provider that can be used for dynamically locating other deserializers during runtime.
 JsonParser getParser()
          Method for accessing the currently active parser.
 boolean handleUnknownProperty(JsonParser jp, JsonDeserializer<?> deser, Object instanceOrClass, String propName)
          Method deserializers can call to inform configured DeserializationProblemHandlers of an unrecognized property.
 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)
 JsonMappingException instantiationException(Class<?> instClass, String msg)
           
 ObjectBuffer leaseObjectBuffer()
          Method that can be used to get access to a reusable ObjectBuffer, useful for efficiently constructing Object arrays and Lists.
 JsonMappingException mappingException(Class<?> targetClass)
          Helper method for constructing generic mapping exception for specified type
 Date parseDate(String dateStr)
          Convenience method for parsing a Date from given String, using currently configured date format (accessed using DeserializationConfig.getDateFormat()).
 void returnObjectBuffer(ObjectBuffer buf)
          Method to call to return object buffer previously leased with DeserializationContext.leaseObjectBuffer().
 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.
 JsonMappingException unknownTypeException(JavaType type, String id)
          Helper method for constructing exception to indicate that given type id (parsed from JSON) could not be converted to a Java type.
 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.
 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.
 JsonMappingException weirdStringException(Class<?> instClass, String msg)
          Method that will construct an exception suitable for throwing when some String values are acceptable, but the one encountered is not
 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 org.codehaus.jackson.map.DeserializationContext
getBase64Variant, getConfig, getNodeFactory, isEnabled, mappingException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_parser

protected JsonParser _parser
Currently active parser used for deserialization. May be different from the outermost parser when content is buffered.


_deserProvider

protected final DeserializerProvider _deserProvider
Since:
1.5

_arrayBuilders

protected ArrayBuilders _arrayBuilders

_objectBuffer

protected ObjectBuffer _objectBuffer

_dateFormat

protected DateFormat _dateFormat
Constructor Detail

StdDeserializationContext

public StdDeserializationContext(DeserializationConfig config,
                                 JsonParser jp,
                                 DeserializerProvider prov)
Method Detail

getDeserializerProvider

public DeserializerProvider getDeserializerProvider()
Description copied from class: DeserializationContext
Returns provider that can be used for dynamically locating other deserializers during runtime.

Overrides:
getDeserializerProvider in class DeserializationContext

getParser

public JsonParser getParser()
Method for accessing the currently active parser. May be different from the outermost parser when content is buffered.

Use of this method is discouraged: if code has direct access to the active parser, that should be used instead.

Specified by:
getParser in class DeserializationContext

leaseObjectBuffer

public final ObjectBuffer leaseObjectBuffer()
Description copied from class: DeserializationContext
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.

Specified by:
leaseObjectBuffer in class DeserializationContext

returnObjectBuffer

public final void returnObjectBuffer(ObjectBuffer buf)
Description copied from class: DeserializationContext
Method to call to return object buffer previously leased with DeserializationContext.leaseObjectBuffer().

Specified by:
returnObjectBuffer in class DeserializationContext
Parameters:
buf - Returned object buffer

getArrayBuilders

public final ArrayBuilders getArrayBuilders()
Description copied from class: DeserializationContext
Method for accessing object useful for building arrays of primitive types (such as int[]).

Specified by:
getArrayBuilders in class DeserializationContext

parseDate

public Date parseDate(String dateStr)
               throws IllegalArgumentException
Description copied from class: DeserializationContext
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.

Specified by:
parseDate in class DeserializationContext
Throws:
IllegalArgumentException

constructCalendar

public Calendar constructCalendar(Date d)
Description copied from class: DeserializationContext
Convenience method for constructing Calendar instance set to specified time, to be modified and used by caller.

Specified by:
constructCalendar in class DeserializationContext

handleUnknownProperty

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

Specified by:
handleUnknownProperty in class DeserializationContext
Returns:
True if there was a configured problem handler that was able to handle the proble
Throws:
IOException
JsonProcessingException
Since:
1.5

mappingException

public JsonMappingException mappingException(Class<?> targetClass)
Description copied from class: DeserializationContext
Helper method for constructing generic mapping exception for specified type

Specified by:
mappingException in class DeserializationContext

instantiationException

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

Specified by:
instantiationException in class DeserializationContext

instantiationException

public JsonMappingException instantiationException(Class<?> instClass,
                                                   String msg)
Specified by:
instantiationException in class DeserializationContext

weirdStringException

public JsonMappingException weirdStringException(Class<?> instClass,
                                                 String msg)
Method that will construct an exception suitable for throwing when some String values are acceptable, but the one encountered is not

Specified by:
weirdStringException in class DeserializationContext

weirdNumberException

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

Specified by:
weirdNumberException in class DeserializationContext

weirdKeyException

public JsonMappingException weirdKeyException(Class<?> keyClass,
                                              String keyValue,
                                              String msg)
Description copied from class: DeserializationContext
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.

Specified by:
weirdKeyException in class DeserializationContext

wrongTokenException

public JsonMappingException wrongTokenException(JsonParser jp,
                                                JsonToken expToken,
                                                String msg)
Description copied from class: DeserializationContext
Helper method for indicating that the current token was expected to be another token.

Specified by:
wrongTokenException in class DeserializationContext

unknownFieldException

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

Specified by:
unknownFieldException in class DeserializationContext
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 JsonMappingException unknownTypeException(JavaType type,
                                                 String id)
Description copied from class: DeserializationContext
Helper method for constructing exception to indicate that given type id (parsed from JSON) could not be converted to a Java type.

Specified by:
unknownTypeException in class DeserializationContext

getDateFormat

protected DateFormat getDateFormat()

determineClassName

protected String determineClassName(Object instance)

_calcName

protected String _calcName(Class<?> cls)

_valueDesc

protected String _valueDesc()

_desc

protected String _desc(String desc)