diff options
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.java | 47 |
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; } |