aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2020-07-24 15:24:29 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2020-07-24 15:24:29 -0700
commit825ab66f492c1a9061ac76f1695870ae0fd3ad80 (patch)
tree78aee5cb670f42e1abc55ec15d0583e4788b106d
parente3cc58e1e18d0aff39b842a6ec38758533c395d2 (diff)
downloadjackson-databind-825ab66f492c1a9061ac76f1695870ae0fd3ad80.tar.gz
Minor streamlining
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java13
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/ser/impl/BeanAsArraySerializer.java9
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/ser/impl/UnwrappingBeanSerializer.java9
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/ser/std/BeanSerializerBase.java39
4 files changed, 21 insertions, 49 deletions
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 b202b47f6..c50199ee8 100644
--- a/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java
+++ b/src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializer.java
@@ -64,10 +64,6 @@ public class BeanSerializer
super(src, objectIdWriter, filterId);
}
- protected BeanSerializer(BeanSerializerBase src, Set<String> toIgnore) {
- super(src, toIgnore);
- }
-
protected BeanSerializer(BeanSerializerBase src, Set<String> toIgnore, Set<String> toInclude) {
super(src, toIgnore, toInclude);
}
@@ -119,13 +115,8 @@ public class BeanSerializer
return new BeanSerializer(this, _objectIdWriter, filterId);
}
- @Override
- protected BeanSerializerBase withIgnorals(Set<String> toIgnore) {
- return new BeanSerializer(this, toIgnore);
- }
-
- @Override
- protected BeanSerializerBase withIgnorals(Set<String> toIgnore, Set<String> toInclude) {
+ @Override // @since 2.12
+ protected BeanSerializerBase withByNameInclusion(Set<String> toIgnore, Set<String> toInclude) {
return new BeanSerializer(this, toIgnore, toInclude);
}
diff --git a/src/main/java/com/fasterxml/jackson/databind/ser/impl/BeanAsArraySerializer.java b/src/main/java/com/fasterxml/jackson/databind/ser/impl/BeanAsArraySerializer.java
index 86b16366d..edc6ad574 100644
--- a/src/main/java/com/fasterxml/jackson/databind/ser/impl/BeanAsArraySerializer.java
+++ b/src/main/java/com/fasterxml/jackson/databind/ser/impl/BeanAsArraySerializer.java
@@ -111,13 +111,8 @@ public class BeanAsArraySerializer
return new BeanAsArraySerializer(this, _objectIdWriter, filterId);
}
- @Override
- protected BeanAsArraySerializer withIgnorals(Set<String> toIgnore) {
- return new BeanAsArraySerializer(this, toIgnore);
- }
-
- @Override
- protected BeanAsArraySerializer withIgnorals(Set<String> toIgnore, Set<String> toInclude) {
+ @Override // @since 2.12
+ protected BeanAsArraySerializer withByNameInclusion(Set<String> toIgnore, Set<String> toInclude) {
return new BeanAsArraySerializer(this, toIgnore, toInclude);
}
diff --git a/src/main/java/com/fasterxml/jackson/databind/ser/impl/UnwrappingBeanSerializer.java b/src/main/java/com/fasterxml/jackson/databind/ser/impl/UnwrappingBeanSerializer.java
index dd50a6b19..2b5ba9117 100644
--- a/src/main/java/com/fasterxml/jackson/databind/ser/impl/UnwrappingBeanSerializer.java
+++ b/src/main/java/com/fasterxml/jackson/databind/ser/impl/UnwrappingBeanSerializer.java
@@ -93,13 +93,8 @@ public class UnwrappingBeanSerializer
return new UnwrappingBeanSerializer(this, _objectIdWriter, filterId);
}
- @Override
- protected BeanSerializerBase withIgnorals(Set<String> toIgnore) {
- return new UnwrappingBeanSerializer(this, toIgnore);
- }
-
- @Override
- protected BeanSerializerBase withIgnorals(Set<String> toIgnore, Set<String> toInclude) {
+ @Override // @since 2.12
+ protected BeanSerializerBase withByNameInclusion(Set<String> toIgnore, Set<String> toInclude) {
return new UnwrappingBeanSerializer(this, toIgnore, toInclude);
}
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 545cd94e5..553b809ab 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
@@ -179,6 +179,7 @@ public abstract class BeanSerializerBase
this(src, ArrayBuilders.arrayToSet(toIgnore), null);
}
+ @Deprecated // since 2.12
protected BeanSerializerBase(BeanSerializerBase src, Set<String> toIgnore) {
this(src, toIgnore, null);
}
@@ -229,16 +230,12 @@ public abstract class BeanSerializerBase
* set of properties to ignore (from properties this instance otherwise has)
*
* @since 2.8
+ * @deprecated Since 2.12
*/
- protected abstract BeanSerializerBase withIgnorals(Set<String> toIgnore);
-
- /**
- * Mutant factory used for creating a new instance with additional
- * set of properties to ignore or include (from properties this instance otherwise has)
- *
- * @since 2.12
- */
- protected abstract BeanSerializerBase withIgnorals(Set<String> toIgnore, Set<String> toInclude);
+ @Deprecated // since 2.12
+ protected BeanSerializerBase withIgnorals(Set<String> toIgnore) {
+ return withByNameInclusion(toIgnore, null);
+ }
/**
* Mutant factory used for creating a new instance with additional
@@ -246,9 +243,8 @@ public abstract class BeanSerializerBase
*
* @since 2.12
*/
- protected BeanSerializerBase withInclusions(Set<String> toInclude) {
- return withIgnorals(Collections.<String>emptySet(), toInclude);
- }
+ protected abstract BeanSerializerBase withByNameInclusion(Set<String> toIgnore,
+ Set<String> toInclude);
/**
* Mutant factory used for creating a new instance with additional
@@ -504,14 +500,8 @@ public abstract class BeanSerializerBase
// Then we may have an override for Object Id
if (accessor != null) {
- JsonIgnoreProperties.Value ignorals = intr.findPropertyIgnoralByName(config, accessor);
- if (ignorals != null) {
- ignoredProps = ignorals.findIgnoredForSerialization();
- }
- JsonIncludeProperties.Value inclusions = intr.findPropertyInclusionByName(config, accessor);
- if (inclusions != null) {
- includedProps = inclusions.getIncluded();
- }
+ ignoredProps = intr.findPropertyIgnoralByName(config, accessor).findIgnoredForSerialization();
+ includedProps = intr.findPropertyInclusionByName(config, accessor).getIncluded();
ObjectIdInfo objectIdInfo = intr.findObjectIdInfo(accessor);
if (objectIdInfo == null) {
// no ObjectId override, but maybe ObjectIdRef?
@@ -596,10 +586,11 @@ public abstract class BeanSerializerBase
contextual = contextual.withObjectIdWriter(oiw);
}
}
- // And possibly add more properties to ignore
- contextual = contextual.withInclusions(includedProps);
- if ((ignoredProps != null) && !ignoredProps.isEmpty()) {
- contextual = contextual.withIgnorals(ignoredProps, includedProps);
+ // Possibly change inclusions: for ignored, only non-empty set matters;
+ // for inclusion `null` means "not defined" but empty "include nothing":
+ if (((ignoredProps != null) && !ignoredProps.isEmpty())
+ || (includedProps != null)) {
+ contextual = contextual.withByNameInclusion(ignoredProps, includedProps);
}
if (newFilterId != null) {
contextual = contextual.withFilterId(newFilterId);