diff options
author | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-06-19 10:11:53 -0700 |
---|---|---|
committer | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-06-19 10:11:53 -0700 |
commit | fb642e792391503686cd260bba79b8d91455af37 (patch) | |
tree | 4a63ec081b78931fa67306aea8462f4a5504dcf8 /src/main/java | |
parent | 0e417f83447a148cc18f90ee72d396aa2aa1d7a1 (diff) | |
download | jackson-databind-fb642e792391503686cd260bba79b8d91455af37.tar.gz |
Add a missing method (`setDefaultTyping()`) in `MapperBuilder` (3.0 compatibility)
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java | 2 | ||||
-rw-r--r-- | src/main/java/com/fasterxml/jackson/databind/cfg/MapperBuilder.java | 25 |
2 files changed, 26 insertions, 1 deletions
diff --git a/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java b/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java index 2529ee279..eba839f13 100644 --- a/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java +++ b/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java @@ -1946,6 +1946,8 @@ public class ObjectMapper * explicitly annotated types (ones with * {@link com.fasterxml.jackson.annotation.JsonTypeInfo}) will have * additional embedded type information. + * + * @since 2.10 */ public ObjectMapper deactivateDefaultTyping() { return setDefaultTyping(null); diff --git a/src/main/java/com/fasterxml/jackson/databind/cfg/MapperBuilder.java b/src/main/java/com/fasterxml/jackson/databind/cfg/MapperBuilder.java index 7d513e13a..c7a7c149d 100644 --- a/src/main/java/com/fasterxml/jackson/databind/cfg/MapperBuilder.java +++ b/src/main/java/com/fasterxml/jackson/databind/cfg/MapperBuilder.java @@ -18,6 +18,7 @@ import com.fasterxml.jackson.databind.introspect.VisibilityChecker; import com.fasterxml.jackson.databind.jsontype.NamedType; import com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator; import com.fasterxml.jackson.databind.jsontype.SubtypeResolver; +import com.fasterxml.jackson.databind.jsontype.TypeResolverBuilder; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.ser.*; import com.fasterxml.jackson.databind.type.TypeFactory; @@ -703,7 +704,29 @@ public abstract class MapperBuilder<M extends ObjectMapper, _mapper.deactivateDefaultTyping(); return _this(); } - + + /** + * Method for enabling automatic inclusion of type information, using + * specified handler object for determining which types this affects, + * as well as details of how information is embedded. + *<p> + * NOTE: use of Default Typing can be a potential security risk if incoming + * content comes from untrusted sources, so care should be taken to use + * a {@link TypeResolverBuilder} that can limit allowed classes to + * deserialize. Note in particular that + * {@link com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder} + * DOES NOT limit applicability but creates type (de)serializers for all + * types. + * + * @param typer Type information inclusion handler + * + * @since 2.12 + */ + public B setDefaultTyping(TypeResolverBuilder<?> typer) { + _mapper.setDefaultTyping(typer); + return _this(); + } + /* /********************************************************************** /* Other helper methods |