aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatu Saloranta <tatu.saloranta@iki.fi>2020-07-07 18:18:53 -0700
committerTatu Saloranta <tatu.saloranta@iki.fi>2020-07-07 18:18:53 -0700
commitbe5af8876fe9013f218daa33be61a854d61dde6d (patch)
tree256a963ff2b72c3018fd308c59b7e3161a914f6c
parentcf2c1a7a99e09cc0dee531ee62a7308bd2d91da5 (diff)
downloadjackson-core-be5af8876fe9013f218daa33be61a854d61dde6d.tar.gz
Add 2 more text-format - specific StreamReadCapability entries
-rw-r--r--src/main/java/com/fasterxml/jackson/core/StreamReadCapability.java23
-rw-r--r--src/test/java/com/fasterxml/jackson/core/read/ParserFeaturesTest.java2
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();
}