aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializer.java')
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializer.java47
1 files changed, 38 insertions, 9 deletions
diff --git a/src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializer.java b/src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializer.java
index ced28f0a9..81dbc97d5 100644
--- a/src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializer.java
+++ b/src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializer.java
@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.cfg.CoercionAction;
import com.fasterxml.jackson.databind.deser.impl.*;
import com.fasterxml.jackson.databind.deser.impl.ReadableObjectId.Referring;
+import com.fasterxml.jackson.databind.util.IgnorePropertiesUtil;
import com.fasterxml.jackson.databind.util.NameTransformer;
import com.fasterxml.jackson.databind.util.TokenBuffer;
@@ -56,14 +57,31 @@ public class BeanDeserializer
/**
* Constructor used by {@link BeanDeserializerBuilder}.
+ *
+ * @deprecated in 2.12, remove from 3.0
*/
+ @Deprecated
public BeanDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc,
BeanPropertyMap properties, Map<String, SettableBeanProperty> backRefs,
HashSet<String> ignorableProps, boolean ignoreAllUnknown,
boolean hasViews)
{
super(builder, beanDesc, properties, backRefs,
- ignorableProps, ignoreAllUnknown, hasViews);
+ ignorableProps, ignoreAllUnknown, null, hasViews);
+ }
+
+ /**
+ * Constructor used by {@link BeanDeserializerBuilder}.
+ *
+ * @since 2.12
+ */
+ public BeanDeserializer(BeanDeserializerBuilder builder, BeanDescription beanDesc,
+ BeanPropertyMap properties, Map<String, SettableBeanProperty> backRefs,
+ HashSet<String> ignorableProps, boolean ignoreAllUnknown, Set<String> includableProps,
+ boolean hasViews)
+ {
+ super(builder, beanDesc, properties, backRefs,
+ ignorableProps, ignoreAllUnknown, includableProps, hasViews);
}
/**
@@ -86,10 +104,21 @@ public class BeanDeserializer
super(src, oir);
}
+ /**
+ * @deprecated in 2.12, remove from 3.0
+ */
+ @Deprecated
public BeanDeserializer(BeanDeserializerBase src, Set<String> ignorableProps) {
super(src, ignorableProps);
}
+ /**
+ * @since 2.12
+ */
+ public BeanDeserializer(BeanDeserializerBase src, Set<String> ignorableProps, Set<String> includableProps) {
+ super(src, ignorableProps, includableProps);
+ }
+
public BeanDeserializer(BeanDeserializerBase src, BeanPropertyMap props) {
super(src, props);
}
@@ -119,8 +148,8 @@ public class BeanDeserializer
}
@Override
- public BeanDeserializer withIgnorableProperties(Set<String> ignorableProps) {
- return new BeanDeserializer(this, ignorableProps);
+ public BeanDeserializer withIgnorableProperties(Set<String> ignorableProps, Set<String> includableProps) {
+ return new BeanDeserializer(this, ignorableProps, includableProps);
}
@Override
@@ -464,7 +493,7 @@ public class BeanDeserializer
continue;
}
// Things marked as ignorable should not be passed to any setter
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
+ if (IgnorePropertiesUtil.shouldIgnore(propName, _ignorableProps, _includableProps)) {
handleIgnoredProperty(p, ctxt, handledType(), propName);
continue;
}
@@ -694,7 +723,7 @@ public class BeanDeserializer
continue;
}
// Things marked as ignorable should not be passed to any setter
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
+ if (IgnorePropertiesUtil.shouldIgnore(propName, _ignorableProps, _includableProps)) {
handleIgnoredProperty(p, ctxt, bean, propName);
continue;
}
@@ -751,7 +780,7 @@ public class BeanDeserializer
}
continue;
}
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
+ if (IgnorePropertiesUtil.shouldIgnore(propName, _ignorableProps, _includableProps)) {
handleIgnoredProperty(p, ctxt, bean, propName);
continue;
}
@@ -850,7 +879,7 @@ public class BeanDeserializer
continue;
}
// Things marked as ignorable should not be passed to any setter
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
+ if (IgnorePropertiesUtil.shouldIgnore(propName, _ignorableProps, _includableProps)) {
handleIgnoredProperty(p, ctxt, handledType(), propName);
continue;
}
@@ -942,7 +971,7 @@ public class BeanDeserializer
continue;
}
// ignorable things should be ignored
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
+ if (IgnorePropertiesUtil.shouldIgnore(propName, _ignorableProps, _includableProps)) {
handleIgnoredProperty(p, ctxt, bean, propName);
continue;
}
@@ -1033,7 +1062,7 @@ public class BeanDeserializer
continue;
}
// Things marked as ignorable should not be passed to any setter
- if (_ignorableProps != null && _ignorableProps.contains(propName)) {
+ if (IgnorePropertiesUtil.shouldIgnore(propName, _ignorableProps, _includableProps)) {
handleIgnoredProperty(p, ctxt, handledType(), propName);
continue;
}