From 7a249f80e19709365764d8ea273fb46f55a8af1b Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Fri, 24 Jul 2020 11:32:16 -0700 Subject: Minor clean up wrt AnnotationIntrospector, future-proofing --- .../fasterxml/jackson/databind/AnnotationIntrospector.java | 8 ++++++-- .../com/fasterxml/jackson/databind/cfg/MapperConfigBase.java | 2 +- .../jackson/databind/deser/BeanDeserializerBase.java | 2 +- .../fasterxml/jackson/databind/deser/std/MapDeserializer.java | 11 +++++------ .../databind/introspect/AnnotationIntrospectorPair.java | 6 +++--- .../databind/introspect/JacksonAnnotationIntrospector.java | 2 +- .../jackson/databind/ser/std/BeanSerializerBase.java | 2 +- .../com/fasterxml/jackson/databind/ser/std/MapSerializer.java | 6 +++--- .../fasterxml/jackson/databind/util/IgnorePropertiesUtil.java | 6 +++--- 9 files changed, 24 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java b/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java index 0cf03fb23..7f1bbf527 100644 --- a/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java +++ b/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java @@ -279,13 +279,17 @@ public abstract class AnnotationIntrospector public Boolean isIgnorableType(AnnotatedClass ac) { return null; } /** - * Method for finding information about properties to include. + * Method for finding information about names of properties to included. + *

+ * NOTE: naming confusing wrt {@link #findPropertyInclusion}, which controls + * inclusion rules for individual properties based on value, as opposed to + * inclusion by name. * * @param ac Annotated class to introspect * * @since 2.12 */ - public JsonIncludeProperties.Value findPropertyInclusions(Annotated ac) + public JsonIncludeProperties.Value findPropertyInclusions(MapperConfig config, Annotated ac) { return JsonIncludeProperties.Value.all(); } diff --git a/src/main/java/com/fasterxml/jackson/databind/cfg/MapperConfigBase.java b/src/main/java/com/fasterxml/jackson/databind/cfg/MapperConfigBase.java index 7a2e7b0d7..cda8a925f 100644 --- a/src/main/java/com/fasterxml/jackson/databind/cfg/MapperConfigBase.java +++ b/src/main/java/com/fasterxml/jackson/databind/cfg/MapperConfigBase.java @@ -670,7 +670,7 @@ public abstract class MapperConfigBase included = inclusions.getIncluded(); Set prev = contextual._includableProps; diff --git a/src/main/java/com/fasterxml/jackson/databind/deser/std/MapDeserializer.java b/src/main/java/com/fasterxml/jackson/databind/deser/std/MapDeserializer.java index 8216cd1cc..a88fea8f9 100644 --- a/src/main/java/com/fasterxml/jackson/databind/deser/std/MapDeserializer.java +++ b/src/main/java/com/fasterxml/jackson/databind/deser/std/MapDeserializer.java @@ -169,7 +169,6 @@ public class MapDeserializer * Fluent factory method used to create a copy with slightly * different settings. When sub-classing, MUST be overridden. */ - @SuppressWarnings("unchecked") protected MapDeserializer withResolved(KeyDeserializer keyDeser, TypeDeserializer valueTypeDeser, JsonDeserializer valueDeser, NullValueProvider nuller, @@ -181,12 +180,12 @@ public class MapDeserializer /** * @since 2.12 */ + @SuppressWarnings("unchecked") protected MapDeserializer withResolved(KeyDeserializer keyDeser, - TypeDeserializer valueTypeDeser, JsonDeserializer valueDeser, - NullValueProvider nuller, - Set ignorable, Set includable) + TypeDeserializer valueTypeDeser, JsonDeserializer valueDeser, + NullValueProvider nuller, + Set ignorable, Set includable) { - if ((_keyDeserializer == keyDeser) && (_valueDeserializer == valueDeser) && (_valueTypeDeserializer == valueTypeDeser) && (_nullProvider == nuller) && (_ignorableProperties == ignorable) && (_includableProperties == includable)) { @@ -321,7 +320,7 @@ public class MapDeserializer } } } - JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(member); + JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(ctxt.getConfig(), member); if (inclusions != null) { Set includedToAdd = inclusions.getIncluded(); if (includedToAdd != null) { diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotationIntrospectorPair.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotationIntrospectorPair.java index 3ba0ab9a5..944bce7fa 100644 --- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotationIntrospectorPair.java +++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotationIntrospectorPair.java @@ -127,10 +127,10 @@ public class AnnotationIntrospectorPair } @Override - public JsonIncludeProperties.Value findPropertyInclusions(Annotated a) + public JsonIncludeProperties.Value findPropertyInclusions(MapperConfig config, Annotated a) { - JsonIncludeProperties.Value v2 = _secondary.findPropertyInclusions(a); - JsonIncludeProperties.Value v1 = _primary.findPropertyInclusions(a); + JsonIncludeProperties.Value v2 = _secondary.findPropertyInclusions(config, a); + JsonIncludeProperties.Value v1 = _primary.findPropertyInclusions(config, a); return (v2 == null) // shouldn't occur but ? v1 : v2.withOverrides(v1); } diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector.java b/src/main/java/com/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector.java index 268ee7f49..4a331743f 100644 --- a/src/main/java/com/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector.java +++ b/src/main/java/com/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector.java @@ -309,7 +309,7 @@ public class JacksonAnnotationIntrospector } @Override - public JsonIncludeProperties.Value findPropertyInclusions(Annotated a) + public JsonIncludeProperties.Value findPropertyInclusions(MapperConfig config, Annotated a) { JsonIncludeProperties v = _findAnnotation(a, JsonIncludeProperties.class); if (v == null) { diff --git a/src/main/java/com/fasterxml/jackson/databind/ser/std/BeanSerializerBase.java b/src/main/java/com/fasterxml/jackson/databind/ser/std/BeanSerializerBase.java index afadc8a22..b507646aa 100644 --- a/src/main/java/com/fasterxml/jackson/databind/ser/std/BeanSerializerBase.java +++ b/src/main/java/com/fasterxml/jackson/databind/ser/std/BeanSerializerBase.java @@ -508,7 +508,7 @@ public abstract class BeanSerializerBase if (ignorals != null) { ignoredProps = ignorals.findIgnoredForSerialization(); } - JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(accessor); + JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(config, accessor); if (inclusions != null) { includedProps = inclusions.getIncluded(); } diff --git a/src/main/java/com/fasterxml/jackson/databind/ser/std/MapSerializer.java b/src/main/java/com/fasterxml/jackson/databind/ser/std/MapSerializer.java index 34992f4f2..3c95de962 100644 --- a/src/main/java/com/fasterxml/jackson/databind/ser/std/MapSerializer.java +++ b/src/main/java/com/fasterxml/jackson/databind/ser/std/MapSerializer.java @@ -8,15 +8,16 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonIncludeProperties; + import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.core.type.WritableTypeId; + import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.annotation.JacksonStdImpl; import com.fasterxml.jackson.databind.introspect.AnnotatedMember; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; -import com.fasterxml.jackson.databind.ser.BeanPropertyWriter; import com.fasterxml.jackson.databind.ser.ContainerSerializer; import com.fasterxml.jackson.databind.ser.ContextualSerializer; import com.fasterxml.jackson.databind.ser.PropertyFilter; @@ -237,7 +238,6 @@ public class MapSerializer /** * @deprecated in 2.12, remove from 3.0 */ - @SuppressWarnings("unchecked") @Deprecated protected MapSerializer(MapSerializer src, BeanProperty property, JsonSerializer keySerializer, JsonSerializer valueSerializer, @@ -518,7 +518,7 @@ public class MapSerializer } } // inclusions - JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(propertyAcc); + JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(provider.getConfig(), propertyAcc); if (inclusions != null) { Set newIncluded = inclusions.getIncluded(); if (newIncluded != null) { diff --git a/src/main/java/com/fasterxml/jackson/databind/util/IgnorePropertiesUtil.java b/src/main/java/com/fasterxml/jackson/databind/util/IgnorePropertiesUtil.java index 75766150d..4fd701874 100644 --- a/src/main/java/com/fasterxml/jackson/databind/util/IgnorePropertiesUtil.java +++ b/src/main/java/com/fasterxml/jackson/databind/util/IgnorePropertiesUtil.java @@ -1,10 +1,10 @@ package com.fasterxml.jackson.databind.util; -import com.fasterxml.jackson.databind.ser.BeanPropertyWriter; - import java.util.Collection; -import java.util.Set; +/** + * @since 2.12 + */ public class IgnorePropertiesUtil { /** -- cgit v1.2.3