From de6a767acc0317c03b7a010eece0039856d3ab72 Mon Sep 17 00:00:00 2001 From: Steven Schlansker Date: Fri, 9 May 2025 10:40:25 -0700 Subject: [PATCH] Re-enable setting of final instance fields Followup to #5090 --- .../jackson/databind/deser/BeanDeserializerFactory.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/main/java/tools/jackson/databind/deser/BeanDeserializerFactory.java b/src/main/java/tools/jackson/databind/deser/BeanDeserializerFactory.java index e29dbeb611..90b9c7cb20 100644 --- a/src/main/java/tools/jackson/databind/deser/BeanDeserializerFactory.java +++ b/src/main/java/tools/jackson/databind/deser/BeanDeserializerFactory.java @@ -939,10 +939,6 @@ protected SettableBeanProperty constructSettableProperty(DeserializationContext JavaType type = resolveMemberAndTypeAnnotations(ctxt, mutator, propType0); // Does the Method specify the deserializer to use? If so, let's use it. TypeDeserializer typeDeser = (TypeDeserializer) type.getTypeHandler(); - // 05-May-2025, tatu: [databind#5090]/[databind#2083] Need to skip these for some reason - if (isFinalField(mutator)) { - return null; - } ValueDeserializer deser = findDeserializerFromAnnotation(ctxt, mutator); if (deser == null) { deser = (ValueDeserializer) type.getValueHandler(); @@ -965,11 +961,6 @@ protected SettableBeanProperty constructSettableProperty(DeserializationContext return prop; } - private boolean isFinalField(AnnotatedMember am) { - return am instanceof AnnotatedField - && Modifier.isFinal(am.getMember().getModifiers()); - } - /** * Method that will construct a regular bean property setter using * the given setter method.