diff options
author | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-07-07 18:18:53 -0700 |
---|---|---|
committer | Tatu Saloranta <tatu.saloranta@iki.fi> | 2020-07-07 18:18:53 -0700 |
commit | be5af8876fe9013f218daa33be61a854d61dde6d (patch) | |
tree | 256a963ff2b72c3018fd308c59b7e3161a914f6c | |
parent | cf2c1a7a99e09cc0dee531ee62a7308bd2d91da5 (diff) | |
download | jackson-core-be5af8876fe9013f218daa33be61a854d61dde6d.tar.gz |
Add 2 more text-format - specific StreamReadCapability entries
-rw-r--r-- | src/main/java/com/fasterxml/jackson/core/StreamReadCapability.java | 23 | ||||
-rw-r--r-- | src/test/java/com/fasterxml/jackson/core/read/ParserFeaturesTest.java | 2 |
2 files changed, 22 insertions, 3 deletions
diff --git a/src/main/java/com/fasterxml/jackson/core/StreamReadCapability.java b/src/main/java/com/fasterxml/jackson/core/StreamReadCapability.java index b99393b9..63d8b502 100644 --- a/src/main/java/com/fasterxml/jackson/core/StreamReadCapability.java +++ b/src/main/java/com/fasterxml/jackson/core/StreamReadCapability.java @@ -24,12 +24,30 @@ public enum StreamReadCapability * Capability may be used for allowing secondary mapping of such duplicates * in case of using Tree Model (see {@link TreeNode}), or "untyped" databinding * (mapping content as generic {@link java.lang.Object}). - * *<p> - * Capability is typically {@code false}, hence default. + * Capability is currently only enabled for XML format backend. */ DUPLICATE_PROPERTIES(false), + /** + * Capability that indicates that data format may in some cases expose Scalar values + * (whether typed or untyped) as Object values. There are additional access methods + * at databind level: this capability may be used to decide whether to attempt to + * use such methods especially in potentially ambiguous cases. + *<p> + * Capability is currently only enabled for XML format backend. + */ + SCALARS_AS_OBJECTS(false), + + /** + * Capability that indicates that data format only exposed "untyped" scalars: that is, + * instead of Number, Boolean and String types all scalar values are reported as + * text ({@link JsonToken#VALUE_STRING}) + * unless some sort of coercion is implied by caller. + *<p> + * This capability is true for many textual formats like CSV, Properties and XML. + */ + UNTYPED_SCALARS(false), ; /** @@ -50,5 +68,4 @@ public enum StreamReadCapability public boolean enabledIn(int flags) { return (flags & _mask) != 0; } @Override public int getMask() { return _mask; } - } diff --git a/src/test/java/com/fasterxml/jackson/core/read/ParserFeaturesTest.java b/src/test/java/com/fasterxml/jackson/core/read/ParserFeaturesTest.java index e9d73fd8..2c03159d 100644 --- a/src/test/java/com/fasterxml/jackson/core/read/ParserFeaturesTest.java +++ b/src/test/java/com/fasterxml/jackson/core/read/ParserFeaturesTest.java @@ -60,6 +60,8 @@ public class ParserFeaturesTest // [core#619]: assertFalse(p.getReadCapabilities().isEnabled(StreamReadCapability.DUPLICATE_PROPERTIES)); + assertFalse(p.getReadCapabilities().isEnabled(StreamReadCapability.SCALARS_AS_OBJECTS)); + assertFalse(p.getReadCapabilities().isEnabled(StreamReadCapability.UNTYPED_SCALARS)); p.close(); } |