com.fasterxml.jackson.databind

Class DeserializationContext

    • Field Detail

      • _factory

        protected final DeserializerFactory _factory
        Read-only factory instance; exposed to let owners (ObjectMapper, ObjectReader) access it.
      • _config

        protected final DeserializationConfig _config
        Generic deserialization processing configuration
      • _view

        protected final Class<?> _view
        Currently active view, if any.
      • _parser

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

        protected final InjectableValues _injectableValues
        Object used for resolving references to injectable values.
      • _arrayBuilders

        protected transient ArrayBuilders _arrayBuilders
      • _objectBuffer

        protected transient ObjectBuffer _objectBuffer
      • _dateFormat

        protected transient DateFormat _dateFormat
      • _attributes

        protected transient ContextAttributes _attributes
        Lazily-constructed holder for per-call attributes.
        Since:
        2.3
    • Method Detail

      • getActiveView

        public final Class<?> getActiveView()
        Description copied from class: DatabindContext
        Accessor for locating currently active view, if any; returns null if no view has been set.
        Specified by:
        getActiveView in class DatabindContext
      • getAttribute

        public Object getAttribute(Object key)
        Description copied from class: DatabindContext
        Method for accessing attributes available in this context. Per-call attributes have highest precedence; attributes set via ObjectReader or ObjectWriter have lower precedence.
        Specified by:
        getAttribute in class DatabindContext
        Parameters:
        key - Key of the attribute to get
        Returns:
        Value of the attribute, if any; null otherwise
      • setAttribute

        public DeserializationContext setAttribute(Object key,
                                          Object value)
        Description copied from class: DatabindContext
        Method for setting per-call value of given attribute. This will override any previously defined value for the attribute within this context.
        Specified by:
        setAttribute in class DatabindContext
        Parameters:
        key - Key of the attribute to set
        value - Value to set attribute to
        Returns:
        This context object, to allow chaining
      • isEnabled

        public final boolean isEnabled(DeserializationFeature feat)
        Convenience method for checking whether specified on/off feature is enabled
      • hasDeserializationFeatures

        public final boolean hasDeserializationFeatures(int featureMask)
        "Bulk" access method for checking that all features specified by mask are enabled.
        Since:
        2.3
      • getParser

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

      • getBase64Variant

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

        public final JsonNodeFactory getNodeFactory()
        Convenience method, functionally equivalent to:
          getConfig().getNodeFactory();
         
      • getLocale

        public Locale getLocale()
        Method for accessing default Locale to use: convenience method for
           getConfig().getLocale();
        
      • getTimeZone

        public TimeZone getTimeZone()
        Method for accessing default TimeZone to use: convenience method for
           getConfig().getTimeZone();
        
      • hasValueDeserializerFor

        @Deprecated
        public boolean hasValueDeserializerFor(JavaType type)
        Deprecated. 
      • hasValueDeserializerFor

        public boolean hasValueDeserializerFor(JavaType type,
                                      AtomicReference<Throwable> cause)
        Method for checking whether we could find a deserializer for given type.
        Parameters:
        type -
        Since:
        2.3
      • constructType

        public final JavaType constructType(Class<?> cls)
        Convenience method, functionally equivalent to:
          getConfig().constructType(cls);
         
      • findClass

        public Class<?> findClass(String className)
                           throws ClassNotFoundException
        Helper method to use for locating Class for given name. Should be used instead of basic Class.forName(className); as it can try using contextual class loader, or use platform-specific workarounds (like on Android, GAE).
        Throws:
        ClassNotFoundException
      • leaseObjectBuffer

        public final 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 final void returnObjectBuffer(ObjectBuffer buf)
        Method to call to return object buffer previously leased with leaseObjectBuffer().
        Parameters:
        buf - Returned object buffer
      • getArrayBuilders

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

        public JsonDeserializer<?> handleSecondaryContextualization(JsonDeserializer<?> deser,
                                                           BeanProperty prop)
                                                             throws JsonMappingException
        Method called for secondary property deserializers (ones NOT directly created to deal with an annotatable POJO property, but instead created as a component -- such as value deserializers for structured types, or deserializers for root values) to handle details of resolving ContextualDeserializer with given property context. Given that these deserializers are not directly related to given property (or, in case of root value property, to any property), annotations accessible may or may not be relevant.
        Parameters:
        prop - Property for which deserializer is used, if any; null when deserializing root values
        Throws:
        JsonMappingException
        Since:
        2.3
      • parseDate

        public Date parseDate(String dateStr)
                       throws IllegalArgumentException
        Convenience method for parsing a Date from given String, using currently configured date format (accessed using MapperConfig.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 Calendar constructCalendar(Date d)
        Convenience method for constructing Calendar instance set to specified time, to be modified and used by caller.
      • readValue

        public <T> T readValue(JsonParser p,
                      Class<T> type)
                    throws IOException
        Convenience method that may be used by composite or container deserializers, for reading one-off values contained (for sequences, it is more efficient to actually fetch deserializer once for the whole collection).

        NOTE: when deserializing values of properties contained in composite types, rather use readPropertyValue(JsonParser, BeanProperty, Class); this method does not allow use of contextual annotations.

        Throws:
        IOException
        Since:
        2.4
      • readPropertyValue

        public <T> T readPropertyValue(JsonParser p,
                              BeanProperty prop,
                              Class<T> type)
                            throws IOException
        Convenience method that may be used by composite or container deserializers, for reading one-off values for the composite type, taking into account annotations that the property (passed to this method -- usually property that has custom serializer that called this method) has.
        Throws:
        IOException
        Since:
        2.4
      • reportUnknownProperty

        public void reportUnknownProperty(Object instanceOrClass,
                                 String fieldName,
                                 JsonDeserializer<?> deser)
                                   throws JsonMappingException
        Helper method for reporting a problem with unhandled unknown exception
        Parameters:
        instanceOrClass - Either value being populated (if one has been instantiated), or Class that indicates type that would be (or have been) instantiated
        deser - Deserializer that had the problem, if called by deserializer (or on behalf of one)
        Throws:
        JsonMappingException
      • mappingException

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

        public JsonMappingException mappingException(String message)
        Helper method for constructing generic mapping exception with specified message and current location information
      • instantiationException

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

        @Deprecated
        public JsonMappingException weirdStringException(Class<?> instClass,
                                                           String msg)
        Deprecated. Since 2.1 should use variant that takes value
        Method that will construct an exception suitable for throwing when some String values are acceptable, but the one encountered is not.
      • weirdStringException

        public JsonMappingException weirdStringException(String value,
                                                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.
        Parameters:
        value - String value from input being deserialized
        instClass - Type that String should be deserialized into
        msg - Message that describes specific problem
        Since:
        2.1
      • weirdNumberException

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

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

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

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

        protected DateFormat getDateFormat()
      • determineClassName

        protected String determineClassName(Object instance)
      • _calcName

        protected String _calcName(Class<?> cls)
      • _valueDesc

        protected String _valueDesc()

Copyright © 2014 FasterXML. All Rights Reserved.