From 9e147a82472cd2a8546c3306f3e6883e4e532d70 Mon Sep 17 00:00:00 2001 From: "Kim, Joo Hyuk" Date: Fri, 15 Dec 2023 09:30:43 +0900 Subject: [PATCH] Fix `REQUIRE_SETTERS_FOR_GETTERS` taking no effect (#4257) --- .../jackson/databind/introspect/POJOPropertyBuilder.java | 6 +++++- .../ser}/RequireSetterForGetter736Test.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) rename src/test/java/com/fasterxml/jackson/{failing => databind/ser}/RequireSetterForGetter736Test.java (96%) diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder.java b/src/main/java/com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder.java index 550b4a9862..4c9ef45e3d 100644 --- a/src/main/java/com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder.java +++ b/src/main/java/com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder.java @@ -394,7 +394,11 @@ public Class getRawPrimaryType() { @Override public boolean couldDeserialize() { - return (_ctorParameters != null) || (_setters != null) || (_fields != null); + return (_ctorParameters != null) + || (_setters != null) + || ((_fields != null) + // [databind#736] Since 2.16 : Fix `REQUIRE_SETTERS_FOR_GETTERS` taking no effect + && (_anyVisible(_fields))); } @Override diff --git a/src/test/java/com/fasterxml/jackson/failing/RequireSetterForGetter736Test.java b/src/test/java/com/fasterxml/jackson/databind/ser/RequireSetterForGetter736Test.java similarity index 96% rename from src/test/java/com/fasterxml/jackson/failing/RequireSetterForGetter736Test.java rename to src/test/java/com/fasterxml/jackson/databind/ser/RequireSetterForGetter736Test.java index 222e7f7a03..93409bac5e 100644 --- a/src/test/java/com/fasterxml/jackson/failing/RequireSetterForGetter736Test.java +++ b/src/test/java/com/fasterxml/jackson/databind/ser/RequireSetterForGetter736Test.java @@ -1,4 +1,4 @@ -package com.fasterxml.jackson.failing; +package com.fasterxml.jackson.databind.ser; import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; import com.fasterxml.jackson.annotation.PropertyAccessor;