aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/DeserializationConfig.java19
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java44
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/ObjectReader.java54
3 files changed, 42 insertions, 75 deletions
diff --git a/src/main/java/com/fasterxml/jackson/databind/DeserializationConfig.java b/src/main/java/com/fasterxml/jackson/databind/DeserializationConfig.java
index cf27aa40d..c09a715f8 100644
--- a/src/main/java/com/fasterxml/jackson/databind/DeserializationConfig.java
+++ b/src/main/java/com/fasterxml/jackson/databind/DeserializationConfig.java
@@ -728,13 +728,30 @@ public final class DeserializationConfig
*
* @since 2.5
*/
- public void initialize(JsonParser p) {
+ public JsonParser initialize(JsonParser p) {
if (_parserFeaturesToChange != 0) {
p.overrideStdFeatures(_parserFeatures, _parserFeaturesToChange);
}
if (_formatReadFeaturesToChange != 0) {
p.overrideFormatFeatures(_formatReadFeatures, _formatReadFeaturesToChange);
}
+ return p;
+ }
+
+ /**
+ * @since 2.12
+ */
+ public JsonParser initialize(JsonParser p, FormatSchema schema) {
+ if (_parserFeaturesToChange != 0) {
+ p.overrideStdFeatures(_parserFeatures, _parserFeaturesToChange);
+ }
+ if (_formatReadFeaturesToChange != 0) {
+ p.overrideFormatFeatures(_formatReadFeatures, _formatReadFeaturesToChange);
+ }
+ if (schema != null) {
+ p.setSchema(schema);
+ }
+ return p;
}
/*
diff --git a/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java b/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java
index 275411ba4..353888852 100644
--- a/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java
+++ b/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java
@@ -1197,9 +1197,7 @@ public class ObjectMapper
*/
public JsonParser createParser(File src) throws IOException {
_assertNotNull("src", src);
- JsonParser p = _jsonFactory.createParser(src);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(src));
}
/**
@@ -1212,9 +1210,7 @@ public class ObjectMapper
*/
public JsonParser createParser(URL src) throws IOException {
_assertNotNull("src", src);
- JsonParser p = _jsonFactory.createParser(src);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(src));
}
/**
@@ -1227,9 +1223,7 @@ public class ObjectMapper
*/
public JsonParser createParser(InputStream in) throws IOException {
_assertNotNull("in", in);
- JsonParser p = _jsonFactory.createParser(in);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(in));
}
/**
@@ -1242,9 +1236,7 @@ public class ObjectMapper
*/
public JsonParser createParser(Reader r) throws IOException {
_assertNotNull("r", r);
- JsonParser p = _jsonFactory.createParser(r);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(r));
}
/**
@@ -1257,9 +1249,7 @@ public class ObjectMapper
*/
public JsonParser createParser(byte[] content) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _jsonFactory.createParser(content);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(content));
}
/**
@@ -1272,9 +1262,7 @@ public class ObjectMapper
*/
public JsonParser createParser(byte[] content, int offset, int len) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _jsonFactory.createParser(content, offset, len);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(content, offset, len));
}
/**
@@ -1287,9 +1275,7 @@ public class ObjectMapper
*/
public JsonParser createParser(String content) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _jsonFactory.createParser(content);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(content));
}
/**
@@ -1302,9 +1288,7 @@ public class ObjectMapper
*/
public JsonParser createParser(char[] content) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _jsonFactory.createParser(content);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(content));
}
/**
@@ -1317,9 +1301,7 @@ public class ObjectMapper
*/
public JsonParser createParser(char[] content, int offset, int len) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _jsonFactory.createParser(content, offset, len);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(content, offset, len));
}
/**
@@ -1332,9 +1314,7 @@ public class ObjectMapper
*/
public JsonParser createParser(DataInput content) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _jsonFactory.createParser(content);
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createParser(content));
}
/**
@@ -1346,9 +1326,7 @@ public class ObjectMapper
* @since 2.11
*/
public JsonParser createNonBlockingByteArrayParser() throws IOException {
- JsonParser p = _jsonFactory.createNonBlockingByteArrayParser();
- _deserializationConfig.initialize(p);
- return p;
+ return _deserializationConfig.initialize(_jsonFactory.createNonBlockingByteArrayParser());
}
/*
diff --git a/src/main/java/com/fasterxml/jackson/databind/ObjectReader.java b/src/main/java/com/fasterxml/jackson/databind/ObjectReader.java
index ac7a6a978..6c817c186 100644
--- a/src/main/java/com/fasterxml/jackson/databind/ObjectReader.java
+++ b/src/main/java/com/fasterxml/jackson/databind/ObjectReader.java
@@ -343,10 +343,7 @@ public class ObjectReader
protected JsonToken _initForReading(DeserializationContext ctxt, JsonParser p)
throws IOException
{
- if (_schema != null) {
- p.setSchema(_schema);
- }
- _config.initialize(p); // since 2.5
+ _config.initialize(p, _schema);
/* First: must point to a token; if not pointing to one, advance.
* This occurs before first read from JsonParser, as well as
@@ -376,10 +373,7 @@ public class ObjectReader
protected void _initForMultiRead(DeserializationContext ctxt, JsonParser p)
throws IOException
{
- if (_schema != null) {
- p.setSchema(_schema);
- }
- _config.initialize(p);
+ _config.initialize(p, _schema);
}
/*
@@ -1024,9 +1018,7 @@ public class ObjectReader
*/
public JsonParser createParser(File src) throws IOException {
_assertNotNull("src", src);
- JsonParser p = _parserFactory.createParser(src);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(src), _schema);
}
/**
@@ -1039,9 +1031,7 @@ public class ObjectReader
*/
public JsonParser createParser(URL src) throws IOException {
_assertNotNull("src", src);
- JsonParser p = _parserFactory.createParser(src);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(src), _schema);
}
/**
@@ -1054,9 +1044,7 @@ public class ObjectReader
*/
public JsonParser createParser(InputStream in) throws IOException {
_assertNotNull("in", in);
- JsonParser p = _parserFactory.createParser(in);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(in), _schema);
}
/**
@@ -1069,9 +1057,7 @@ public class ObjectReader
*/
public JsonParser createParser(Reader r) throws IOException {
_assertNotNull("r", r);
- JsonParser p = _parserFactory.createParser(r);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(r), _schema);
}
/**
@@ -1084,9 +1070,7 @@ public class ObjectReader
*/
public JsonParser createParser(byte[] content) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _parserFactory.createParser(content);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(content), _schema);
}
/**
@@ -1099,9 +1083,7 @@ public class ObjectReader
*/
public JsonParser createParser(byte[] content, int offset, int len) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _parserFactory.createParser(content, offset, len);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(content, offset, len), _schema);
}
/**
@@ -1114,9 +1096,7 @@ public class ObjectReader
*/
public JsonParser createParser(String content) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _parserFactory.createParser(content);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(content), _schema);
}
/**
@@ -1129,9 +1109,7 @@ public class ObjectReader
*/
public JsonParser createParser(char[] content) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _parserFactory.createParser(content);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(content), _schema);
}
/**
@@ -1144,9 +1122,7 @@ public class ObjectReader
*/
public JsonParser createParser(char[] content, int offset, int len) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _parserFactory.createParser(content, offset, len);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(content, offset, len), _schema);
}
/**
@@ -1159,9 +1135,7 @@ public class ObjectReader
*/
public JsonParser createParser(DataInput content) throws IOException {
_assertNotNull("content", content);
- JsonParser p = _parserFactory.createParser(content);
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createParser(content), _schema);
}
/**
@@ -1173,9 +1147,7 @@ public class ObjectReader
* @since 2.11
*/
public JsonParser createNonBlockingByteArrayParser() throws IOException {
- JsonParser p = _parserFactory.createNonBlockingByteArrayParser();
- _config.initialize(p);
- return p;
+ return _config.initialize(_parserFactory.createNonBlockingByteArrayParser(), _schema);
}
/*