public enum StreamWriteFeature extends Enum<StreamWriteFeature> implements JacksonFeature
JsonGenerator.Feature
s.Enum Constant and Description |
---|
AUTO_CLOSE_CONTENT
Feature that determines what happens when the generator is
closed while there are still unmatched
JsonToken.START_ARRAY or JsonToken.START_OBJECT
entries in output content. |
AUTO_CLOSE_TARGET
Feature that determines whether generator will automatically
close underlying output target that is NOT owned by the
generator.
|
FLUSH_PASSED_TO_STREAM
Feature that specifies that calls to
JsonGenerator.flush() will cause
matching flush() to underlying OutputStream
or Writer ; if disabled this will not be done. |
IGNORE_UNKNOWN
Feature that determines what to do if the underlying data format requires knowledge
of all properties to output, and if no definition is found for a property that
caller tries to write.
|
STRICT_DUPLICATE_DETECTION
Feature that determines whether
JsonGenerator will explicitly
check that no duplicate JSON Object field names are written. |
WRITE_BIGDECIMAL_AS_PLAIN
Feature that determines whether
BigDecimal entries are
serialized using BigDecimal.toPlainString() to prevent
values to be written using scientific notation. |
Modifier and Type | Method and 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 form
1 << N . |
JsonGenerator.Feature |
mappedFeature() |
static StreamWriteFeature |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static StreamWriteFeature[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final StreamWriteFeature AUTO_CLOSE_TARGET
OutputStream
and Writer
instances used to create the generator. If enabled, generator
will handle closing, as long as generator itself gets closed:
this happens when end-of-input is encountered, or generator
is closed by a call to JsonGenerator.close()
.
Feature is enabled by default.
public static final StreamWriteFeature AUTO_CLOSE_CONTENT
JsonToken.START_ARRAY
or JsonToken.START_OBJECT
entries in output content. If enabled, such Array(s) and/or
Object(s) are automatically closed (that is, matching END_ token write
call is made for all open scopes); if disabled, no additional
write calls are made.
Feature is enabled by default.
public static final StreamWriteFeature FLUSH_PASSED_TO_STREAM
JsonGenerator.flush()
will cause
matching flush()
to underlying OutputStream
or Writer
; if disabled this will not be done.
Main reason to disable this feature is to prevent flushing at
generator level, if it is not possible to prevent method being
called by other code (like ObjectMapper
or third
party libraries).
Feature is enabled by default.
public static final StreamWriteFeature WRITE_BIGDECIMAL_AS_PLAIN
BigDecimal
entries are
serialized using BigDecimal.toPlainString()
to prevent
values to be written using scientific notation.
NOTE: only affects generators that serialize BigDecimal
s
using textual representation (textual formats but potentially some binary
formats).
Feature is disabled by default, so default output mode is used; this generally
depends on how BigDecimal
has been created.
public static final StreamWriteFeature STRICT_DUPLICATE_DETECTION
JsonGenerator
will explicitly
check that no duplicate JSON Object field names are written.
If enabled, generator will check all names within context and report
duplicates by throwing a JsonGenerationException
; if disabled,
no such checking will be done. Assumption in latter case is
that caller takes care of not trying to write duplicate names.
Note that enabling this feature will incur performance overhead due to having to store and check additional information.
Feature is disabled by default.
public static final StreamWriteFeature IGNORE_UNKNOWN
JsonProcessingException
will be thrown to indicate the
problem.
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).
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 write an unknown
property will result in a JsonProcessingException
public static StreamWriteFeature[] values()
for (StreamWriteFeature c : StreamWriteFeature.values()) System.out.println(c);
public static StreamWriteFeature valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic static int collectDefaults()
public boolean enabledByDefault()
JacksonFeature
enabledByDefault
in interface JacksonFeature
public boolean enabledIn(int flags)
JacksonFeature
enabledIn
in interface JacksonFeature
flags
- Bit field that contains a set of enabled features of this typepublic int getMask()
JacksonFeature
1 << N
.getMask
in interface JacksonFeature
public JsonGenerator.Feature mappedFeature()
Copyright © 2008–2023 FasterXML. All rights reserved.