aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2020-07-24 11:32:16 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2020-07-24 11:32:16 -0700
commit7a249f80e19709365764d8ea273fb46f55a8af1b (patch)
tree57a80174b376b9ad60b7004f09278d7fe59ca249
parentc1f2e4c7067ddb45442b1e1eec3f2ff2b73ead62 (diff)
downloadjackson-databind-7a249f80e19709365764d8ea273fb46f55a8af1b.tar.gz
Minor clean up wrt AnnotationIntrospector, future-proofing
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java8
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/cfg/MapperConfigBase.java2
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializerBase.java2
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/deser/std/MapDeserializer.java11
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/introspect/AnnotationIntrospectorPair.java6
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector.java2
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/ser/std/BeanSerializerBase.java2
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/ser/std/MapSerializer.java6
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/util/IgnorePropertiesUtil.java6
9 files changed, 24 insertions, 21 deletions
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.
+ *<p>
+ * 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<CFG extends ConfigFeature,
AnnotatedClass actualClass)
{
AnnotationIntrospector intr = getAnnotationIntrospector();
- return (intr == null) ? null : intr.findPropertyInclusions(actualClass);
+ return (intr == null) ? null : intr.findPropertyInclusions(this, actualClass);
}
@Override
diff --git a/src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializerBase.java b/src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializerBase.java
index 4a0fb1f14..4a4952cf0 100644
--- a/src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializerBase.java
+++ b/src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializerBase.java
@@ -808,7 +808,7 @@ public abstract class BeanDeserializerBase
contextual = contextual.withIgnoreAllUnknown(true);
}
}
- JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(accessor);
+ JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(ctxt.getConfig(), accessor);
if (inclusions != null) {
Set<String> included = inclusions.getIncluded();
Set<String> 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<String> ignorable, Set<String> includable)
+ TypeDeserializer valueTypeDeser, JsonDeserializer<?> valueDeser,
+ NullValueProvider nuller,
+ Set<String> ignorable, Set<String> 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<String> 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<String> 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
{
/**