From b070f3257e5188641d96adb0b34e22baf7732aff Mon Sep 17 00:00:00 2001 From: Matthew Luckam Date: Wed, 17 Apr 2024 15:29:58 -0500 Subject: [PATCH 1/2] Remove final on method BeanSerializer.serialize. This keeps consistenty between this method and BeanDeserializer.deserialize allowing for proxies and subclassing to change serialization behavior --- .../java/com/fasterxml/jackson/databind/ser/BeanSerializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java b/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java index dd9c86ed8e..fb556e06ad 100644 --- a/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java +++ b/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java @@ -168,7 +168,7 @@ protected BeanSerializerBase asArraySerializer() * {@link BeanPropertyWriter} instances. */ @Override - public final void serialize(Object bean, JsonGenerator gen, SerializerProvider provider) + public void serialize(Object bean, JsonGenerator gen, SerializerProvider provider) throws IOException { if (_objectIdWriter != null) { From 78b2bc23ba68e4dd30da91425682e36307a39639 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 18 Apr 2024 20:19:27 -0700 Subject: [PATCH 2/2] Add release notes --- release-notes/CREDITS-2.x | 4 ++++ release-notes/VERSION-2.x | 2 ++ .../com/fasterxml/jackson/databind/ser/BeanSerializer.java | 1 + 3 files changed, 7 insertions(+) diff --git a/release-notes/CREDITS-2.x b/release-notes/CREDITS-2.x index 93d42cdc8f..4f3e083702 100644 --- a/release-notes/CREDITS-2.x +++ b/release-notes/CREDITS-2.x @@ -1780,3 +1780,7 @@ Teodor Danciu (teodord@github) * Reported #4464: When `Include.NON_DEFAULT` setting is used, `isEmpty()` method is not called on the serializer (2.18.0) + +Matthew Luckam (mluckam@github) + * Contributed #4483: Remove `final` on method BeanSerializer.serialize() + (2.18.0) diff --git a/release-notes/VERSION-2.x b/release-notes/VERSION-2.x index f807b5a704..10abd76b12 100644 --- a/release-notes/VERSION-2.x +++ b/release-notes/VERSION-2.x @@ -19,6 +19,8 @@ Project: jackson-databind (fix by Joo-Hyuk K) #4472: Rework synchronized block in `TypeDeserializerBase` (contributed by @pjfanning) +#4483: Remove `final` on method BeanSerializer.serialize() + (contributed by Matthew L) 2.17.1 (not yet released) diff --git a/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java b/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java index fb556e06ad..61add225d9 100644 --- a/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java +++ b/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java @@ -168,6 +168,7 @@ protected BeanSerializerBase asArraySerializer() * {@link BeanPropertyWriter} instances. */ @Override + // note: was final before 2.18 public void serialize(Object bean, JsonGenerator gen, SerializerProvider provider) throws IOException {