diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java b/src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java index 094999b18..50fae96dc 100644 --- a/src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java +++ b/src/main/java/com/fasterxml/jackson/databind/cfg/CoercionConfigs.java @@ -203,11 +203,14 @@ public class CoercionConfigs CoercionAction.TryConvert : CoercionAction.Fail; } - final boolean classicScalar = (targetType == LogicalType.Float) + // classic scalars are numbers, booleans; but date/time also considered + // scalar for this particular purpose + final boolean baseScalar = (targetType == LogicalType.Float) || (targetType == LogicalType.Integer) - || (targetType == LogicalType.Boolean); + || (targetType == LogicalType.Boolean) + || (targetType == LogicalType.DateTime); - if (classicScalar) { + if (baseScalar) { // Default for setting in 2.x is true if (!config.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS)) { return CoercionAction.Fail; @@ -217,8 +220,7 @@ public class CoercionConfigs if (inputShape == CoercionInputShape.EmptyString) { // Since coercion of scalar must be enabled (see check above), allow empty-string // coercions by default even without this setting - if (classicScalar - || (targetType == LogicalType.DateTime) + if (baseScalar // Default for setting is false || config.isEnabled(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT)) { return CoercionAction.AsNull; |