com.fasterxml.jackson.databind.cfg.CoercionAction Maven / Gradle / Ivy
package com.fasterxml.jackson.databind.cfg;
import com.fasterxml.jackson.databind.type.LogicalType;
/**
* Set of possible actions for requested coercion from an
* input shape {@link CoercionInputShape}
* that does not directly or naturally match target type
* ({@link LogicalType}).
* This action is suggestion for deserializers to use in cases
* where alternate actions could be appropriate: it is up to deserializer
* to check configured action and take it into consideration.
*
* @since 2.12
*/
public enum CoercionAction
{
/**
* Action to fail coercion attempt with exceptipn
*/
Fail,
/**
* Action to attempt coercion (which may lead to failure)
*/
TryConvert,
/**
* Action to convert to {@code null} value
*/
AsNull,
/**
* Action to convert to "empty" value for type, whatever that is: for
* primitive types and their wrappers this is "default" value (for example,
* for {@code int} that would be {@code 0}); for {@link java.util.Collection}s
* empty collection; for POJOs instance configured with default constructor
* and so on.
*/
AsEmpty;
;
}