Enum StreamReadFeature
- java.lang.Object
-
- java.lang.Enum<StreamReadFeature>
-
- com.fasterxml.jackson.core.StreamReadFeature
-
- All Implemented Interfaces:
JacksonFeature
,java.io.Serializable
,java.lang.Comparable<StreamReadFeature>
public enum StreamReadFeature extends java.lang.Enum<StreamReadFeature> implements JacksonFeature
Token reader (parser) features not-specific to any particular format backend. Eventual replacement for non-JSON-specificJsonParser.Feature
s.- Since:
- 2.10
-
-
Enum Constant Summary
Enum Constants Enum Constant Description AUTO_CLOSE_SOURCE
Feature that determines whether parser will automatically close underlying input source that is NOT owned by the parser.IGNORE_UNDEFINED
Feature that determines what to do if the underlying data format requires knowledge of all properties to decode (usually via a Schema), and if no definition is found for a property that input content contains.INCLUDE_SOURCE_IN_LOCATION
Feature that determines whetherJsonLocation
instances should be constructed with reference to source or not.STRICT_DUPLICATE_DETECTION
Feature that determines whetherJsonParser
will explicitly check that no duplicate JSON Object field names are encountered.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
collectDefaults()
Method that calculates bit set (flags) of all features that are enabled by default.boolean
enabledByDefault()
Accessor for checking whether this feature is enabled by default.boolean
enabledIn(int flags)
Convenience method for checking whether feature is enabled in given bitmask.int
getMask()
Returns bit mask for this feature instance; must be a single bit, that is of form1 << N
.JsonParser.Feature
mappedFeature()
static StreamReadFeature
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static StreamReadFeature[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
AUTO_CLOSE_SOURCE
public static final StreamReadFeature AUTO_CLOSE_SOURCE
Feature that determines whether parser will automatically close underlying input source that is NOT owned by the parser. If disabled, calling application has to separately close the underlyingInputStream
andReader
instances used to create the parser. If enabled, parser will handle closing, as long as parser itself gets closed: this happens when end-of-input is encountered, or parser is closed by a call toJsonParser.close()
.Feature is enabled by default.
-
STRICT_DUPLICATE_DETECTION
public static final StreamReadFeature STRICT_DUPLICATE_DETECTION
Feature that determines whetherJsonParser
will explicitly check that no duplicate JSON Object field names are encountered. If enabled, parser will check all names within context and report duplicates by throwing aJsonParseException
; if disabled, parser will not do such checking. Assumption in latter case is that caller takes care of handling duplicates at a higher level: data-binding, for example, has features to specify detection to be done there.Note that enabling this feature will incur performance overhead due to having to store and check additional information: this typically adds 20-30% to execution time for basic parsing.
-
IGNORE_UNDEFINED
public static final StreamReadFeature IGNORE_UNDEFINED
Feature that determines what to do if the underlying data format requires knowledge of all properties to decode (usually via a Schema), and if no definition is found for a property that input content contains. Typically most textual data formats do NOT require schema information (although some do, such as CSV), whereas many binary data formats do require definitions (such as Avro, protobuf), although not all (Smile, CBOR, BSON and MessagePack do not). Further note that some formats that do require schema information will not be able to ignore undefined properties: for example, Avro is fully positional and there is no possibility of undefined data. This leaves formats like Protobuf that have identifiers that may or may not map; and as such Protobuf format does make use of this feature.Note that support for this feature is implemented by individual data format module, if (and only if) it makes sense for the format in question. For JSON, for example, this feature has no effect as properties need not be pre-defined.
Feature is disabled by default, meaning that if the underlying data format requires knowledge of all properties to output, attempts to read an unknown property will result in a
JsonProcessingException
-
INCLUDE_SOURCE_IN_LOCATION
public static final StreamReadFeature INCLUDE_SOURCE_IN_LOCATION
Feature that determines whetherJsonLocation
instances should be constructed with reference to source or not. If source reference is included, its type and contents are included when `toString()` method is called (most notably when printing out parse exception with that location information). If feature is disabled, no source reference is passed and source is only indicated as "UNKNOWN".Most common reason for disabling this feature is to avoid leaking internal information; this may be done for security reasons. Note that even if source reference is included, only parts of contents are usually printed, and not the whole contents. Further, many source reference types can not necessarily access contents (like streams), so only type is indicated, not contents.
Feature is enabled by default, meaning that "source reference" information is passed and some or all of the source content may be included in
JsonLocation
information constructed either when requested explicitly, or when needed for an exception.
-
-
Method Detail
-
values
public static StreamReadFeature[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (StreamReadFeature c : StreamReadFeature.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static StreamReadFeature valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
collectDefaults
public static int collectDefaults()
Method that calculates bit set (flags) of all features that are enabled by default.- Returns:
- Bit mask of all features that are enabled by default
-
enabledByDefault
public boolean enabledByDefault()
Description copied from interface:JacksonFeature
Accessor for checking whether this feature is enabled by default.- Specified by:
enabledByDefault
in interfaceJacksonFeature
- Returns:
- Whether this instance is enabled by default or not
-
enabledIn
public boolean enabledIn(int flags)
Description copied from interface:JacksonFeature
Convenience method for checking whether feature is enabled in given bitmask.- Specified by:
enabledIn
in interfaceJacksonFeature
- Parameters:
flags
- Bit field that contains a set of enabled features of this type- Returns:
- True if this feature is enabled in passed bit field
-
getMask
public int getMask()
Description copied from interface:JacksonFeature
Returns bit mask for this feature instance; must be a single bit, that is of form1 << N
.- Specified by:
getMask
in interfaceJacksonFeature
- Returns:
- Bit mask of this feature
-
mappedFeature
public JsonParser.Feature mappedFeature()
-
-