public abstract class HandlerInstantiator extends Object
JsonSerializer
s, JsonDeserializer
s, various type
handlers) of specific types. Actual handler type has been resolved at this
point, so instantiator is strictly responsible for providing a configured
instance by constructing and configuring a new instance, or possibly by
recycling a shared instance. One use case is that of allowing
dependency injection, which would otherwise be difficult to do.
Custom instances are allowed to return null to indicate that caller should use the default instantiation handling (which just means calling no-argument constructor via reflection).
Care has to be taken to ensure that if instance returned is shared, it will be thread-safe; caller will not synchronize access to returned instances.
Constructor and Description |
---|
HandlerInstantiator() |
Modifier and Type | Method and Description |
---|---|
Converter<?,?> |
converterInstance(MapperConfig<?> config,
Annotated annotated,
Class<?> implClass)
Method called to construct a Converter instance used for specified class.
|
abstract JsonDeserializer<?> |
deserializerInstance(DeserializationConfig config,
Annotated annotated,
Class<?> deserClass)
Method called to get an instance of deserializer of specified type.
|
Object |
includeFilterInstance(SerializationConfig config,
BeanPropertyDefinition forProperty,
Class<?> filterClass)
Method called to construct a Filter (any Object with implementation of
equals(Object) that determines if given value is to be
excluded (true) or included (false)) to be used based on
JsonInclude annotation (or
equivalent). |
abstract KeyDeserializer |
keyDeserializerInstance(DeserializationConfig config,
Annotated annotated,
Class<?> keyDeserClass)
Method called to get an instance of key deserializer of specified type.
|
PropertyNamingStrategy |
namingStrategyInstance(MapperConfig<?> config,
Annotated annotated,
Class<?> implClass)
Method called to construct a NamingStrategy instance used for specified
class.
|
ObjectIdGenerator<?> |
objectIdGeneratorInstance(MapperConfig<?> config,
Annotated annotated,
Class<?> implClass)
Method called to construct a ObjectIdHandler instance of specified type.
|
ObjectIdResolver |
resolverIdGeneratorInstance(MapperConfig<?> config,
Annotated annotated,
Class<?> implClass) |
abstract JsonSerializer<?> |
serializerInstance(SerializationConfig config,
Annotated annotated,
Class<?> serClass)
Method called to get an instance of serializer of specified type.
|
abstract TypeIdResolver |
typeIdResolverInstance(MapperConfig<?> config,
Annotated annotated,
Class<?> resolverClass)
Method called to get an instance of TypeIdResolver of specified type.
|
abstract TypeResolverBuilder<?> |
typeResolverBuilderInstance(MapperConfig<?> config,
Annotated annotated,
Class<?> builderClass)
Method called to get an instance of TypeResolverBuilder of specified type.
|
ValueInstantiator |
valueInstantiatorInstance(MapperConfig<?> config,
Annotated annotated,
Class<?> resolverClass)
Method called to construct an instance of ValueInstantiator of specified type.
|
VirtualBeanPropertyWriter |
virtualPropertyWriterInstance(MapperConfig<?> config,
Class<?> implClass)
Method called to construct a
VirtualBeanPropertyWriter instance
of specified type. |
public abstract JsonDeserializer<?> deserializerInstance(DeserializationConfig config, Annotated annotated, Class<?> deserClass)
config
- Deserialization configuration in effectannotated
- Element (Class, Method, Field, constructor parameter) that
had annotation defining class of deserializer to construct (to allow
implementation use information from other annotations)deserClass
- Class of deserializer instance to returnpublic abstract KeyDeserializer keyDeserializerInstance(DeserializationConfig config, Annotated annotated, Class<?> keyDeserClass)
config
- Deserialization configuration in effectannotated
- Element (Class, Method, Field, constructor parameter) that
had annotation defining class of key deserializer to construct (to allow
implementation use information from other annotations)keyDeserClass
- Class of key deserializer instance to returnpublic abstract JsonSerializer<?> serializerInstance(SerializationConfig config, Annotated annotated, Class<?> serClass)
config
- Serialization configuration in effectannotated
- Element (Class, Method, Field) that
had annotation defining class of serializer to construct (to allow
implementation use information from other annotations)serClass
- Class of serializer instance to returnpublic abstract TypeResolverBuilder<?> typeResolverBuilderInstance(MapperConfig<?> config, Annotated annotated, Class<?> builderClass)
config
- Mapper configuration in effect (either SerializationConfig or
DeserializationConfig, depending on when instance is being constructed)annotated
- annotated Element (Class, Method, Field) that
had annotation defining class of builder to construct (to allow
implementation use information from other annotations)builderClass
- Class of builder instance to returnpublic abstract TypeIdResolver typeIdResolverInstance(MapperConfig<?> config, Annotated annotated, Class<?> resolverClass)
config
- Mapper configuration in effect (either SerializationConfig or
DeserializationConfig, depending on when instance is being constructed)annotated
- annotated Element (Class, Method, Field) that
had annotation defining class of resolver to construct (to allow
implementation use information from other annotations)resolverClass
- Class of resolver instance to returnpublic ValueInstantiator valueInstantiatorInstance(MapperConfig<?> config, Annotated annotated, Class<?> resolverClass)
public ObjectIdGenerator<?> objectIdGeneratorInstance(MapperConfig<?> config, Annotated annotated, Class<?> implClass)
public ObjectIdResolver resolverIdGeneratorInstance(MapperConfig<?> config, Annotated annotated, Class<?> implClass)
public PropertyNamingStrategy namingStrategyInstance(MapperConfig<?> config, Annotated annotated, Class<?> implClass)
public Converter<?,?> converterInstance(MapperConfig<?> config, Annotated annotated, Class<?> implClass)
public VirtualBeanPropertyWriter virtualPropertyWriterInstance(MapperConfig<?> config, Class<?> implClass)
VirtualBeanPropertyWriter
instance
of specified type.public Object includeFilterInstance(SerializationConfig config, BeanPropertyDefinition forProperty, Class<?> filterClass)
equals(Object)
that determines if given value is to be
excluded (true) or included (false)) to be used based on
JsonInclude
annotation (or
equivalent).
Default implementation returns `null` to indicate that default instantiation
(use zero-arg constructor of the filterClass
) should be
used.
Copyright © 2008–2020 FasterXML. All rights reserved.