com.fasterxml.jackson.databind

## Class DatabindContext

- java.lang.Object
- - com.fasterxml.jackson.databind.DatabindContext

- Direct Known Subclasses:
    DeserializationContext, SerializerProvider

      public abstract class DatabindContext
      extends Object

  Shared base class for `DeserializationContext` and `SerializerProvider`, context objects passed through data-binding process. Designed so that some of implementations can rely on shared aspects like access to secondary contextual objects like type factories or handler instantiators.
  Since:
    2.2

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DatabindContext()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `_colonConcat(String msgBase, String extra)`
    `protected String` | `_desc(String desc)`
    `protected String` | `_format(String msg, Object... msgArgs)`
    `protected String` | `_quotedString(String desc)`
    `protected <T> T` | `_throwNotASubtype(JavaType baseType, String subType)`
    `protected <T> T` | `_throwSubtypeClassNotAllowed(JavaType baseType, String subType, PolymorphicTypeValidator ptv)`
    `protected <T> T` | `_throwSubtypeNameNotAllowed(JavaType baseType, String subType, PolymorphicTypeValidator ptv)`
    `protected String` | `_truncate(String desc)`
    `abstract boolean` | `canOverrideAccessModifiers()` Convenience method for accessing serialization view in use (if any); equivalent to:
    `abstract JavaType` | `constructSpecializedType(JavaType baseType, Class<?> subclass)` Convenience method for constructing subtypes, retaining generic type parameter (if any).
    `JavaType` | `constructType(Type type)` Convenience method for constructing `JavaType` for given JDK type (usually `Class`)
    `Converter<Object,Object>` | `converterInstance(Annotated annotated, Object converterDef)` Helper method to use to construct a `Converter`, given a definition that may be either actual converter instance, or Class for instantiating one.
    `abstract Class<?>` | `getActiveView()` Accessor for locating currently active view, if any; returns null if no view has been set.
    `abstract AnnotationIntrospector` | `getAnnotationIntrospector()` Convenience method for accessing serialization view in use (if any); equivalent to:
    `abstract Object` | `getAttribute(Object key)` Method for accessing attributes available in this context.
    `abstract MapperConfig<?>` | `getConfig()` Accessor to currently active configuration (both per-request configs and per-mapper config).
    `abstract JsonFormat.Value` | `getDefaultPropertyFormat(Class<?> baseType)`
    `abstract Locale` | `getLocale()`
    `abstract TimeZone` | `getTimeZone()`
    `abstract TypeFactory` | `getTypeFactory()`
    `protected abstract JsonMappingException` | `invalidTypeIdException(JavaType baseType, String typeId, String extraDesc)` Helper method for constructing exception to indicate that given type id could not be resolved to a valid subtype of specified base type.
    `abstract boolean` | `isEnabled(MapperFeature feature)` Convenience method for checking whether specified serialization feature is enabled or not.
    `ObjectIdGenerator<?>` | `objectIdGeneratorInstance(Annotated annotated, ObjectIdInfo objectIdInfo)`
    `ObjectIdResolver` | `objectIdResolverInstance(Annotated annotated, ObjectIdInfo objectIdInfo)`
    `<T> T` | `reportBadDefinition(Class<?> type, String msg)`
    `abstract <T> T` | `reportBadDefinition(JavaType type, String msg)` Helper method called to indicate a generic problem that stems from type definition(s), not input data, or input/output state; typically this means throwing a `InvalidDefinitionException`.
    `JavaType` | `resolveAndValidateSubType(JavaType baseType, String subClass, PolymorphicTypeValidator ptv)` Lookup method similar to `resolveSubType(com.fasterxml.jackson.databind.JavaType, java.lang.String)` but one that also validates that resulting subtype is valid according to given `PolymorphicTypeValidator`.
    `JavaType` | `resolveSubType(JavaType baseType, String subClassName)` Lookup method called when code needs to resolve class name from input; usually simple lookup.
    `abstract DatabindContext` | `setAttribute(Object key, Object value)` Method for setting per-call value of given attribute.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DatabindContext

          public DatabindContext()

  - ### Method Detail

    - #### getConfig

          public abstract MapperConfig<?> getConfig()

      Accessor to currently active configuration (both per-request configs and per-mapper config).

    - #### getAnnotationIntrospector

          public abstract AnnotationIntrospector getAnnotationIntrospector()

      Convenience method for accessing serialization view in use (if any); equivalent to:

             getConfig().getAnnotationIntrospector();

    - #### isEnabled

          public abstract boolean isEnabled(MapperFeature feature)

      Convenience method for checking whether specified serialization feature is enabled or not. Shortcut for:

            getConfig().isEnabled(feature);

    - #### canOverrideAccessModifiers

          public abstract boolean canOverrideAccessModifiers()

      Convenience method for accessing serialization view in use (if any); equivalent to:

             getConfig().canOverrideAccessModifiers();

    - #### getActiveView

          public abstract Class<?> getActiveView()

      Accessor for locating currently active view, if any; returns null if no view has been set.

    - #### getLocale

          public abstract Locale getLocale()

      Since:
        2.6

    - #### getTimeZone

          public abstract TimeZone getTimeZone()

      Since:
        2.6

    - #### getDefaultPropertyFormat

          public abstract JsonFormat.Value getDefaultPropertyFormat(Class<?> baseType)

      Since:
        2.7

    - #### getAttribute

          public abstract Object getAttribute(Object key)

      Method for accessing attributes available in this context. Per-call attributes have highest precedence; attributes set via `ObjectReader` or `ObjectWriter` have lower precedence.
      Parameters:
        `key` - Key of the attribute to get
      Returns:
        Value of the attribute, if any; null otherwise
      Since:
        2.3

    - #### setAttribute

          public abstract DatabindContext setAttribute(Object key,
                                                       Object value)

      Method for setting per-call value of given attribute. This will override any previously defined value for the attribute within this context.
      Parameters:
        `key` - Key of the attribute to set
        `value` - Value to set attribute to
      Returns:
        This context object, to allow chaining
      Since:
        2.3

    - #### constructType

          public JavaType constructType(Type type)

      Convenience method for constructing `JavaType` for given JDK type (usually `Class`)

    - #### constructSpecializedType

          public abstract JavaType constructSpecializedType(JavaType baseType,
                                                            Class<?> subclass)

      Convenience method for constructing subtypes, retaining generic type parameter (if any).

      Note: since 2.11 handling has varied a bit across serialization, deserialization.

    - #### resolveSubType

          public JavaType resolveSubType(JavaType baseType,
                                         String subClassName)
                                  throws JsonMappingException

      Lookup method called when code needs to resolve class name from input; usually simple lookup. Note that unlike `resolveAndValidateSubType(com.fasterxml.jackson.databind.JavaType, java.lang.String, com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator)` this method DOES NOT validate subtype against configured `PolymorphicTypeValidator`: usually because such check has already been made.
      Throws:
        `JsonMappingException`
      Since:
        2.9

    - #### resolveAndValidateSubType

          public JavaType resolveAndValidateSubType(JavaType baseType,
                                                    String subClass,
                                                    PolymorphicTypeValidator ptv)
                                             throws JsonMappingException

      Lookup method similar to `resolveSubType(com.fasterxml.jackson.databind.JavaType, java.lang.String)` but one that also validates that resulting subtype is valid according to given `PolymorphicTypeValidator`.
      Throws:
        `JsonMappingException`
      Since:
        2.10

    - #### _throwNotASubtype

          protected <T> T _throwNotASubtype(JavaType baseType,
                                            String subType)
                                     throws JsonMappingException

      Throws:
        `JsonMappingException`

    - #### _throwSubtypeNameNotAllowed

          protected <T> T _throwSubtypeNameNotAllowed(JavaType baseType,
                                                      String subType,
                                                      PolymorphicTypeValidator ptv)
                                               throws JsonMappingException

      Throws:
        `JsonMappingException`

    - #### _throwSubtypeClassNotAllowed

          protected <T> T _throwSubtypeClassNotAllowed(JavaType baseType,
                                                       String subType,
                                                       PolymorphicTypeValidator ptv)
                                                throws JsonMappingException

      Throws:
        `JsonMappingException`

    - #### invalidTypeIdException

          protected abstract JsonMappingException invalidTypeIdException(JavaType baseType,
                                                                         String typeId,
                                                                         String extraDesc)

      Helper method for constructing exception to indicate that given type id could not be resolved to a valid subtype of specified base type. Most commonly called during polymorphic deserialization.

      Note that most of the time this method should NOT be called directly: instead, method `handleUnknownTypeId()` should be called which will call this method if necessary.

      Since:
        2.9

    - #### getTypeFactory

          public abstract TypeFactory getTypeFactory()

    - #### objectIdGeneratorInstance

          public ObjectIdGenerator<?> objectIdGeneratorInstance(Annotated annotated,
                                                                ObjectIdInfo objectIdInfo)
                                                         throws JsonMappingException

      Throws:
        `JsonMappingException`

    - #### objectIdResolverInstance

          public ObjectIdResolver objectIdResolverInstance(Annotated annotated,
                                                           ObjectIdInfo objectIdInfo)

    - #### converterInstance

          public Converter<Object,Object> converterInstance(Annotated annotated,
                                                            Object converterDef)
                                                     throws JsonMappingException

      Helper method to use to construct a `Converter`, given a definition that may be either actual converter instance, or Class for instantiating one.
      Throws:
        `JsonMappingException`
      Since:
        2.2

    - #### reportBadDefinition

          public abstract <T> T reportBadDefinition(JavaType type,
                                                    String msg)
                                             throws JsonMappingException

      Helper method called to indicate a generic problem that stems from type definition(s), not input data, or input/output state; typically this means throwing a `InvalidDefinitionException`.
      Throws:
        `JsonMappingException`
      Since:
        2.9

    - #### reportBadDefinition

          public <T> T reportBadDefinition(Class<?> type,
                                           String msg)
                                    throws JsonMappingException

      Throws:
        `JsonMappingException`
      Since:
        2.9

    - #### _format

          protected final String _format(String msg,
                                         Object... msgArgs)

      Since:
        2.9

    - #### _truncate

          protected final String _truncate(String desc)

      Since:
        2.9

    - #### _quotedString

          protected String _quotedString(String desc)

      Since:
        2.9

    - #### _colonConcat

          protected String _colonConcat(String msgBase,
                                        String extra)

      Since:
        2.9

    - #### _desc

          protected String _desc(String desc)

      Since:
        2.9

Copyright © 2008–2020 FasterXML. All rights reserved.