aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2020-07-24 13:30:34 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2020-07-24 13:30:34 -0700
commitcf948c4fed21c6f1b96f563bbf433e313b566c34 (patch)
treebcf2f031fc0d64a3064c6e90684d243f84a2a137
parentb793a30d80c5b77a82c653ff94e9303c97bcd8c5 (diff)
downloadjackson-databind-cf948c4fed21c6f1b96f563bbf433e313b566c34.tar.gz
Bit of refactoring wrt #1296, renaming
-rw-r--r--release-notes/CREDITS-2.x5
-rw-r--r--release-notes/VERSION-2.x2
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java12
-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.java2
-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.java2
10 files changed, 21 insertions, 16 deletions
diff --git a/release-notes/CREDITS-2.x b/release-notes/CREDITS-2.x
index ac87a0189..9c6ba0ed8 100644
--- a/release-notes/CREDITS-2.x
+++ b/release-notes/CREDITS-2.x
@@ -1151,6 +1151,11 @@ Mike Gilbode (gilbode@github)
* Reported #792: Deserialization Not Working Right with Generic Types and Builders
(2.12.0)
+Baptiste Pernet (sp4ce@github)
+ * Contributed #1296 implementation: Add `@JsonIncludeProperties(propertyNames)` (reverse
+ of `@JsonIgnoreProperties`)
+ (2.12.0)
+
Patrick Jungermann (pjungermann@github)
* Requested #1852: Allow case insensitive deserialization of String value into
`boolean`/`Boolean` (esp for Excel)
diff --git a/release-notes/VERSION-2.x b/release-notes/VERSION-2.x
index 0fc8a1284..755d8bdca 100644
--- a/release-notes/VERSION-2.x
+++ b/release-notes/VERSION-2.x
@@ -11,6 +11,8 @@ Project: jackson-databind
(reported by gmkll@github)
#921: Deserialization Not Working Right with Generic Types and Builders
(reported by Mike G; fix contributed by Ville K)
+#1296: Add `@JsonIncludeProperties(propertyNames)` (reverse of `@JsonIgnoreProperties`)
+ (contributed Baptiste P)
#1852: Allow case insensitive deserialization of String value into
`boolean`/`Boolean` (esp for Excel)
(requested by Patrick J)
diff --git a/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java b/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java
index 7f1bbf527..fe90ec543 100644
--- a/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java
+++ b/src/main/java/com/fasterxml/jackson/databind/AnnotationIntrospector.java
@@ -280,17 +280,15 @@ public abstract class AnnotationIntrospector
/**
* 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.
+ * This is typically used to strictly limit properties to include based
+ * on fully defined set of names ("allow-listing"), as opposed to excluding
+ * potential properties by exclusion ("deny-listing").
*
- * @param ac Annotated class to introspect
+ * @param ac Annotated entity (Class, acccessor) to introspect
*
* @since 2.12
*/
- public JsonIncludeProperties.Value findPropertyInclusions(MapperConfig<?> config, Annotated ac)
- {
+ public JsonIncludeProperties.Value findPropertyInclusionByName(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 cda8a925f..da7718a94 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(this, actualClass);
+ return (intr == null) ? null : intr.findPropertyInclusionByName(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 b2c6c3547..b2b84aa79 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(ctxt.getConfig(), accessor);
+ JsonIncludeProperties.Value inclusions = intr.findPropertyInclusionByName(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 b31a2fbc1..3d978f4b6 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
@@ -320,7 +320,7 @@ public class MapDeserializer
}
}
}
- JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(ctxt.getConfig(), member);
+ JsonIncludeProperties.Value inclusions = intr.findPropertyInclusionByName(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 944bce7fa..c2640f80c 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(MapperConfig<?> config, Annotated a)
+ public JsonIncludeProperties.Value findPropertyInclusionByName(MapperConfig<?> config, Annotated a)
{
- JsonIncludeProperties.Value v2 = _secondary.findPropertyInclusions(config, a);
- JsonIncludeProperties.Value v1 = _primary.findPropertyInclusions(config, a);
+ JsonIncludeProperties.Value v2 = _secondary.findPropertyInclusionByName(config, a);
+ JsonIncludeProperties.Value v1 = _primary.findPropertyInclusionByName(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 4a331743f..9706858d5 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(MapperConfig<?> config, Annotated a)
+ public JsonIncludeProperties.Value findPropertyInclusionByName(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 b507646aa..31aa78b91 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(config, accessor);
+ JsonIncludeProperties.Value inclusions = intr.findPropertyInclusionByName(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 3c95de962..2711bf92c 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
@@ -518,7 +518,7 @@ public class MapSerializer
}
}
// inclusions
- JsonIncludeProperties.Value inclusions = intr.findPropertyInclusions(provider.getConfig(), propertyAcc);
+ JsonIncludeProperties.Value inclusions = intr.findPropertyInclusionByName(provider.getConfig(), propertyAcc);
if (inclusions != null) {
Set<String> newIncluded = inclusions.getIncluded();
if (newIncluded != null) {