Top Description Inners Methods
tools.jackson.databind.deser

public Interface ValueInstantiators

Known Direct Implementers
tools.jackson.databind.deser.ValueInstantiators.Base
Imports
tools.jackson.databind.*

Interface for providers of ValueInstantiator instances. Implemented when an object wants to provide custom value instantiators, usually to support custom value types with alternate constructors, or which need specified post-processing after construction but before binding data.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
ValueInstantiators.Base

Basic "NOP" implementation that can be used as the base class for custom implementations.

Method Summary

Modifier and TypeMethod and Description
public ValueInstantiator

Returns:

Instantiator to use if custom one wanted, or null to indicate "use default instantiator".
findValueInstantiator
(DeserializationConfig
Deserialization configuration in use
config
,
BeanDescription.Supplier
Additional information about POJO type to be instantiated
beanDescRef
)

Method called to find the ValueInstantiator to use for creating instances of specified type during deserialization.

public default ValueInstantiator

Returns:

Instantiator to use; either defaultInstantiator that was passed, or a custom variant; cannot be null.
modifyValueInstantiator
(DeserializationConfig
Deserialization configuration in use
config
,
BeanDescription.Supplier
Additional information about POJO type to be instantiated
beanDescRef
,
ValueInstantiator
Instantiator that will be used if no changes are made; passed to allow custom instances to use annotation-provided information (note, however, that earlier ValueInstantiators may have changed it to a custom instantiator already)
defaultInstantiator
)

Method called to find the ValueInstantiator to use for creating instances of specified type during deserialization.

Method Detail

findValueInstantiatorback to summary
public ValueInstantiator findValueInstantiator(DeserializationConfig config, BeanDescription.Supplier beanDescRef)

Method called to find the ValueInstantiator to use for creating instances of specified type during deserialization.

Note that unlike with 2.0, no default instantiator is passed at this point: there is a separate method, modifyValueInstantiator if you want to use or modify that.

Parameters
config:DeserializationConfig

Deserialization configuration in use

beanDescRef:BeanDescription.Supplier

Additional information about POJO type to be instantiated

Returns:ValueInstantiator

Instantiator to use if custom one wanted, or null to indicate "use default instantiator".

modifyValueInstantiatorback to summary
public default ValueInstantiator modifyValueInstantiator(DeserializationConfig config, BeanDescription.Supplier beanDescRef, ValueInstantiator defaultInstantiator)

Method called to find the ValueInstantiator to use for creating instances of specified type during deserialization. Note that a default value instantiator is always created first and passed; if an implementation does not want to modify or replace it, it has to return passed instance as is (returning null is an error)

Parameters
config:DeserializationConfig

Deserialization configuration in use

beanDescRef:BeanDescription.Supplier

Additional information about POJO type to be instantiated

defaultInstantiator:ValueInstantiator

Instantiator that will be used if no changes are made; passed to allow custom instances to use annotation-provided information (note, however, that earlier ValueInstantiators may have changed it to a custom instantiator already)

Returns:ValueInstantiator

Instantiator to use; either defaultInstantiator that was passed, or a custom variant; cannot be null.

tools.jackson.databind.deser back to summary

public Class ValueInstantiators.Base

extends Object
implements ValueInstantiators
Class Inheritance
All Implemented Interfaces
tools.jackson.databind.deser.ValueInstantiators
Known Direct Subclasses
tools.jackson.databind.module.SimpleValueInstantiators

Basic "NOP" implementation that can be used as the base class for custom implementations. Safer to extend (instead of implementing ValueInstantiators) in case later Jackson versions add new methods in base interface.

Constructor Summary

AccessConstructor and Description
public
Base()

Method Summary

Modifier and TypeMethod and Description
public ValueInstantiator
findValueInstantiator(DeserializationConfig config, BeanDescription.Supplier beanDescRef)

Implements tools.jackson.databind.deser.ValueInstantiators.findValueInstantiator.

Method called to find the ValueInstantiator to use for creating instances of specified type during deserialization.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Baseback to summary
public Base()

Method Detail

findValueInstantiatorback to summary
public ValueInstantiator findValueInstantiator(DeserializationConfig config, BeanDescription.Supplier beanDescRef)

Implements tools.jackson.databind.deser.ValueInstantiators.findValueInstantiator.

Doc from tools.jackson.databind.deser.ValueInstantiators.findValueInstantiator.

Method called to find the ValueInstantiator to use for creating instances of specified type during deserialization.

Note that unlike with 2.0, no default instantiator is passed at this point: there is a separate method, modifyValueInstantiator if you want to use or modify that.

Annotations
@Override