Class SpringHandlerInstantiator

java.lang.Object
com.fasterxml.jackson.databind.cfg.HandlerInstantiator
org.springframework.http.converter.json.SpringHandlerInstantiator

public class SpringHandlerInstantiator extends com.fasterxml.jackson.databind.cfg.HandlerInstantiator
Allows for creating Jackson (JsonSerializer, JsonDeserializer, KeyDeserializer, TypeResolverBuilder, TypeIdResolver) beans with autowiring against a Spring ApplicationContext.

As of Spring 4.3, this overrides all factory methods in HandlerInstantiator, including non-abstract ones and recently introduced ones from Jackson 2.4 and 2.5: for ValueInstantiator, ObjectIdGenerator, ObjectIdResolver, PropertyNamingStrategy, Converter, VirtualBeanPropertyWriter.

Since:
4.1.3
Author:
Sebastien Deleuze, Juergen Hoeller
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a new SpringHandlerInstantiator for the given BeanFactory.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.fasterxml.jackson.databind.util.Converter<?,?>
    converterInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.databind.JsonDeserializer<?>
    deserializerInstance(com.fasterxml.jackson.databind.DeserializationConfig config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.databind.KeyDeserializer
    keyDeserializerInstance(com.fasterxml.jackson.databind.DeserializationConfig config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.databind.PropertyNamingStrategy
    namingStrategyInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.annotation.ObjectIdGenerator<?>
    objectIdGeneratorInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.annotation.ObjectIdResolver
    resolverIdGeneratorInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.databind.JsonSerializer<?>
    serializerInstance(com.fasterxml.jackson.databind.SerializationConfig config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.databind.jsontype.TypeIdResolver
    typeIdResolverInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?>
    typeResolverBuilderInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.databind.deser.ValueInstantiator
    valueInstantiatorInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
     
    com.fasterxml.jackson.databind.ser.VirtualBeanPropertyWriter
    virtualPropertyWriterInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, Class<?> implClass)
     

    Methods inherited from class com.fasterxml.jackson.databind.cfg.HandlerInstantiator

    includeFilterInstance

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SpringHandlerInstantiator

      public SpringHandlerInstantiator(AutowireCapableBeanFactory beanFactory)
      Create a new SpringHandlerInstantiator for the given BeanFactory.
      Parameters:
      beanFactory - the target BeanFactory
  • Method Details

    • deserializerInstance

      public com.fasterxml.jackson.databind.JsonDeserializer<?> deserializerInstance(com.fasterxml.jackson.databind.DeserializationConfig config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Specified by:
      deserializerInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
    • keyDeserializerInstance

      public com.fasterxml.jackson.databind.KeyDeserializer keyDeserializerInstance(com.fasterxml.jackson.databind.DeserializationConfig config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Specified by:
      keyDeserializerInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
    • serializerInstance

      public com.fasterxml.jackson.databind.JsonSerializer<?> serializerInstance(com.fasterxml.jackson.databind.SerializationConfig config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Specified by:
      serializerInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
    • typeResolverBuilderInstance

      public com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder<?> typeResolverBuilderInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Specified by:
      typeResolverBuilderInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
    • typeIdResolverInstance

      public com.fasterxml.jackson.databind.jsontype.TypeIdResolver typeIdResolverInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Specified by:
      typeIdResolverInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
    • valueInstantiatorInstance

      public com.fasterxml.jackson.databind.deser.ValueInstantiator valueInstantiatorInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Overrides:
      valueInstantiatorInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
      Since:
      4.3
    • objectIdGeneratorInstance

      public com.fasterxml.jackson.annotation.ObjectIdGenerator<?> objectIdGeneratorInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Overrides:
      objectIdGeneratorInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
      Since:
      4.3
    • resolverIdGeneratorInstance

      public com.fasterxml.jackson.annotation.ObjectIdResolver resolverIdGeneratorInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Overrides:
      resolverIdGeneratorInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
      Since:
      4.3
    • namingStrategyInstance

      public com.fasterxml.jackson.databind.PropertyNamingStrategy namingStrategyInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Overrides:
      namingStrategyInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
      Since:
      4.3
    • converterInstance

      public com.fasterxml.jackson.databind.util.Converter<?,?> converterInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.introspect.Annotated annotated, Class<?> implClass)
      Overrides:
      converterInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
      Since:
      4.3
    • virtualPropertyWriterInstance

      public com.fasterxml.jackson.databind.ser.VirtualBeanPropertyWriter virtualPropertyWriterInstance(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, Class<?> implClass)
      Overrides:
      virtualPropertyWriterInstance in class com.fasterxml.jackson.databind.cfg.HandlerInstantiator
      Since:
      4.3