aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2020-06-19 10:11:53 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2020-06-19 10:11:53 -0700
commitfb642e792391503686cd260bba79b8d91455af37 (patch)
tree4a63ec081b78931fa67306aea8462f4a5504dcf8 /src/main/java
parent0e417f83447a148cc18f90ee72d396aa2aa1d7a1 (diff)
downloadjackson-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.java2
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/cfg/MapperBuilder.java25
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