|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD | |||||||||
java.lang.Objectjava.lang.Enum<JsonGenerator.Feature>
com.fasterxml.jackson.core.JsonGenerator.Feature
public static enum JsonGenerator.Feature
Enumeration that defines all togglable features for generators.
| Enum Constant Summary | |
|---|---|
AUTO_CLOSE_JSON_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. |
|
ESCAPE_NON_ASCII
Feature that specifies that all characters beyond 7-bit ASCII range (i.e. |
|
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. |
|
QUOTE_FIELD_NAMES
Feature that determines whether JSON Object field names are quoted using double-quotes, as specified by JSON specification or not. |
|
QUOTE_NON_NUMERIC_NUMBERS
Feature that determines whether "exceptional" (not real number) float/double values are output as quoted strings. |
|
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. |
|
WRITE_NUMBERS_AS_STRINGS
Feature that forces all Java numbers to be written as JSON strings. |
|
| Method Summary | |
|---|---|
static int |
collectDefaults()
Method that calculates bit set (flags) of all features that are enabled by default. |
boolean |
enabledByDefault()
|
boolean |
enabledIn(int flags)
|
int |
getMask()
|
static JsonGenerator.Feature |
valueOf(String name)
Returns the enum constant of this type with the specified name. |
static JsonGenerator.Feature[] |
values()
Returns an array containing the constants of this enum type, in the order they are declared. |
| Methods inherited from class java.lang.Enum |
|---|
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf |
| Methods inherited from class java.lang.Object |
|---|
getClass, notify, notifyAll, wait, wait, wait |
| Enum Constant Detail |
|---|
public static final JsonGenerator.Feature 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 JsonGenerator.Feature AUTO_CLOSE_JSON_CONTENT
JsonToken.START_ARRAY or JsonToken.START_OBJECT
entries in output content. If enabled, such Array(s) and/or
Object(s) are automatically closed; if disabled, nothing
specific is done.
Feature is enabled by default.
public static final JsonGenerator.Feature 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 JsonGenerator.Feature QUOTE_FIELD_NAMES
Feature is enabled by default (since it is required by JSON specification).
public static final JsonGenerator.Feature QUOTE_NON_NUMERIC_NUMBERS
Feature is enabled by default.
public static final JsonGenerator.Feature WRITE_NUMBERS_AS_STRINGS
One use case is to avoid problems with Javascript limitations: since Javascript standard specifies that all number handling should be done using 64-bit IEEE 754 floating point values, result being that some 64-bit integer values can not be accurately represent (as mantissa is only 51 bit wide).
Feature is disabled by default.
public static final JsonGenerator.Feature WRITE_BIGDECIMAL_AS_PLAIN
BigDecimal entries are
serialized using BigDecimal.toPlainString() to prevent
values to be written using scientific notation.
Feature is disabled by default, so default output mode is used; this generally
depends on how BigDecimal has been created.
public static final JsonGenerator.Feature ESCAPE_NON_ASCII
Note that this setting may not necessarily make sense for all data formats (for example, binary formats typically do not use any escaping mechanisms; and some textual formats do not have general-purpose escaping); if so, settings is simply ignored. Put another way, effects of this feature are data-format specific.
Feature is disabled by default.
public static final JsonGenerator.Feature 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 JsonGenerator.Feature 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
| Method Detail |
|---|
public static JsonGenerator.Feature[] values()
for (JsonGenerator.Feature c : JsonGenerator.Feature.values()) System.out.println(c);
public static JsonGenerator.Feature valueOf(String name)
name - the name of the enum constant to be returned.
IllegalArgumentException - if this enum type has no constant
with the specified name
NullPointerException - if the argument is nullpublic static int collectDefaults()
public boolean enabledByDefault()
public boolean enabledIn(int flags)
public int getMask()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD | |||||||||