public enum SerializationFeature extends Enum<SerializationFeature> implements ConfigFeature
 Note that features can be set both through
 ObjectMapper (as sort of defaults) and through
 ObjectWriter.
 In first case these defaults must follow "config-then-use" patterns
 (i.e. defined once, not changed afterwards); all per-call
 changes must be done using ObjectWriter.
| Enum Constant and Description | 
|---|
| CLOSE_CLOSEABLEFeature that determines whether  closemethod of
 serialized root level objects (ones for whichObjectMapper's
 writeValue() (or equivalent) method is called)
 that implementCloseableis called after serialization or not. | 
| EAGER_SERIALIZER_FETCHFeature that determines whether  ObjectWritershould
 try to eagerly fetch necessaryJsonSerializerwhen
 possible. | 
| FAIL_ON_EMPTY_BEANSFeature that determines what happens when no accessors are
 found for a type (and there are no annotations to indicate
 it is meant to be serialized). | 
| FAIL_ON_SELF_REFERENCESFeature that determines what happens when a direct self-reference
 is detected by a POJO (and no Object Id handling is enabled for it):
 either a  JsonMappingExceptionis
 thrown (if true), or reference is normally processed (false). | 
| FAIL_ON_UNWRAPPED_TYPE_IDENTIFIERSFeature that determines what happens when an object which
 normally has type information included by Jackson is used
 in conjunction with  JsonUnwrapped. | 
| FLUSH_AFTER_WRITE_VALUEFeature that determines whether  JsonGenerator.flush()is
 called afterwriteValue()method that takes JsonGenerator
 as an argument completes (i.e. | 
| INDENT_OUTPUTFeature that allows enabling (or disabling) indentation
 for the underlying generator, using the default pretty
 printer configured for  ObjectMapper(andObjectWriters created from mapper). | 
| ORDER_MAP_ENTRIES_BY_KEYS | 
| USE_EQUALITY_FOR_OBJECT_IDFeature that determines whether Object Identity is compared using
 true JVM-level identity of Object (false); or,  equals()method. | 
| WRAP_EXCEPTIONS | 
| WRAP_ROOT_VALUEFeature that can be enabled to make root value (usually JSON
 Object but can be any type) wrapped within a single property
 JSON object, where key as the "root name", as determined by
 annotation introspector (esp. | 
| WRITE_BIGDECIMAL_AS_PLAINDeprecated. 
 Since 2.5: use  JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAINdirectly
    (usingObjectWriter.with(com.fasterxml.jackson.core.JsonGenerator.Feature)). | 
| WRITE_CHAR_ARRAYS_AS_JSON_ARRAYSFeature that determines how type  char[]is serialized:
 when enabled, will be serialized as an explict JSON array (with
 single-character Strings as values); when disabled, defaults to
 serializing them as Strings (which is more compact). | 
| WRITE_DATE_KEYS_AS_TIMESTAMPS | 
| WRITE_DATE_TIMESTAMPS_AS_NANOSECONDSFeature that controls whether numeric timestamp values are
 to be written using nanosecond timestamps (enabled) or not (disabled);
 if and only if datatype supports such resolution. | 
| WRITE_DATES_AS_TIMESTAMPSFeature that determines whether Date (and date/time) values
 (and Date-based things like  Calendars) are to be
 serialized as numeric timestamps (true; the default),
 or as something else (usually textual representation). | 
| WRITE_DATES_WITH_ZONE_IDFeature that determines whether date/date-time values should be serialized
 so that they include timezone id, in cases where type itself contains
 timezone information. | 
| WRITE_DURATIONS_AS_TIMESTAMPSFeature that determines whether time values that represents time periods
 (durations, periods, ranges) are to be serialized by default using
 a numeric (true) or textual (false) representations. | 
| WRITE_EMPTY_JSON_ARRAYSFeature that determines whether Container properties (POJO properties
 with declared value of Collection or array; i.e. | 
| WRITE_ENUMS_USING_INDEXFeature that determines whethere Java Enum values are serialized
 as numbers (true), or textual values (false). | 
| WRITE_ENUMS_USING_TO_STRINGFeature that determines standard serialization mechanism used for
 Enum values: if enabled, return value of  Enum.toString()is used; if disabled, return value ofEnum.name()is used. | 
| WRITE_NULL_MAP_VALUESFeature that determines whether Map entries with null values are
 to be serialized (true) or not (false). | 
| WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPEDFeature added for interoperability, to work with oddities of
 so-called "BadgerFish" convention. | 
| Modifier and Type | Method and Description | 
|---|---|
| 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 | 
| static SerializationFeature | valueOf(String name)Returns the enum constant of this type with the specified name. | 
| static SerializationFeature[] | values()Returns an array containing the constants of this enum type, in
the order they are declared. | 
public static final SerializationFeature WRAP_ROOT_VALUE
@XmlRootElement.name) or fallback (non-qualified
 class name).
 Feature is mostly intended for JAXB compatibility.
Feature is disabled by default.
public static final SerializationFeature INDENT_OUTPUT
ObjectMapper (and
 ObjectWriters created from mapper).
 Note that the default pretty printer is only used if
 no explicit PrettyPrinter has been configured
 for the generator or ObjectWriter.
Feature is disabled by default.
public static final SerializationFeature FAIL_ON_EMPTY_BEANS
 Note that empty types that this feature has only effect on
 those "empty" beans that do not have any recognized annotations
 (like @JsonSerialize): ones that do have annotations
 do not result in an exception being thrown.
Feature is enabled by default.
public static final SerializationFeature FAIL_ON_SELF_REFERENCES
JsonMappingException is
 thrown (if true), or reference is normally processed (false).
Feature is enabled by default.
public static final SerializationFeature WRAP_EXCEPTIONS
Exceptions (but never Errors!)
 to add additional information about
 location (within input) of problem or not. If enabled,
 most exceptions will be caught and re-thrown (exception
 specifically being that IOExceptions may be passed
 as is, since they are declared as throwable); this can be
 convenient both in that all exceptions will be checked and
 declared, and so there is more contextual information.
 However, sometimes calling application may just want "raw"
 unchecked exceptions passed as is.
Feature is enabled by default.
public static final SerializationFeature FAIL_ON_UNWRAPPED_TYPE_IDENTIFIERS
JsonUnwrapped.
 In the default (enabled) state, an error will be thrown when
 an unwrapped object has type information. When disabled, the
 object will be unwrapped and the type information discarded.
Feature is enabled by default.
public static final SerializationFeature CLOSE_CLOSEABLE
close method of
 serialized root level objects (ones for which ObjectMapper's
 writeValue() (or equivalent) method is called)
 that implement Closeable
 is called after serialization or not. If enabled, close() will
 be called after serialization completes (whether succesfully, or
 due to an error manifested by an exception being thrown). You can
 think of this as sort of "finally" processing.
NOTE: only affects behavior with root objects, and not other objects reachable from the root object. Put another way, only one call will be made for each 'writeValue' call.
Feature is disabled by default.
public static final SerializationFeature FLUSH_AFTER_WRITE_VALUE
JsonGenerator.flush() is
 called after writeValue() method that takes JsonGenerator
 as an argument completes (i.e. does NOT affect methods
 that use other destinations); same for methods in ObjectWriter.
 This usually makes sense; but there are cases where flushing
 should not be forced: for example when underlying stream is
 compressing and flush() causes compression state to be flushed
 (which occurs with some compression codecs).
Feature is enabled by default.
public static final SerializationFeature WRITE_DATES_AS_TIMESTAMPS
Calendars) are to be
 serialized as numeric timestamps (true; the default),
 or as something else (usually textual representation).
 If textual representation is used, the actual format is
 one returned by a call to
 MapperConfig.getDateFormat():
 the default setting being StdDateFormat,
 which corresponds to format String of "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
 (see DateFormat for details of format Strings).
Note: whether this feature affects handling of other date-related types depend on handlers of those types, although ideally they should use this feature
 Note: whether Map keys are serialized as Strings
 or not is controlled using WRITE_DATE_KEYS_AS_TIMESTAMPS.
Feature is enabled by default, so that date/time are by default serialized as timestamps.
public static final SerializationFeature WRITE_DATE_KEYS_AS_TIMESTAMPS
public static final SerializationFeature WRITE_DATES_WITH_ZONE_ID
 If enabled, Timezone id should be included using format specified
 with Java 8 DateTimeFormatter#ISO_ZONED_DATE_TIME definition
 (for example, '2011-12-03T10:15:30+01:00[Europe/Paris]').
Note: setting has no relevance if date/time values are serialized as timestamps.
Feature is disabled by default, so that zone id is NOT included; rather, timezone offset is used for ISO-8601 compatibility (if any timezone information is included in value).
public static final SerializationFeature WRITE_DURATIONS_AS_TIMESTAMPS
 Note: whether Map keys are serialized as Strings
 or not is controlled using WRITE_DATE_KEYS_AS_TIMESTAMPS.
Feature is enabled by default, so that period/duration are by default serialized as timestamps.
public static final SerializationFeature WRITE_CHAR_ARRAYS_AS_JSON_ARRAYS
char[] is serialized:
 when enabled, will be serialized as an explict JSON array (with
 single-character Strings as values); when disabled, defaults to
 serializing them as Strings (which is more compact).
Feature is disabled by default.
public static final SerializationFeature WRITE_ENUMS_USING_TO_STRING
Enum.toString()
 is used; if disabled, return value of Enum.name() is used.
 Note: this feature should usually have same value
 as DeserializationFeature.READ_ENUMS_USING_TO_STRING.
Feature is disabled by default.
public static final SerializationFeature WRITE_ENUMS_USING_INDEX
Enum.ordinal()
 (an integer) will be used as the serialization.
 Note that this feature has precedence over WRITE_ENUMS_USING_TO_STRING,
 which is only considered if this feature is set to false.
Feature is disabled by default.
public static final SerializationFeature WRITE_NULL_MAP_VALUES
Feature is enabled by default.
public static final SerializationFeature WRITE_EMPTY_JSON_ARRAYS
 Note that this does not change behavior of Maps, or
 "Collection-like" types.
Feature is enabled by default.
public static final SerializationFeature WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED
Collections
 and arrays: if enabled, Collections and arrays that contain exactly
 one element will be serialized as if that element itself was serialized.
When enabled, a POJO with array that normally looks like this:
  { "arrayProperty" : [ 1 ] }
 will instead be serialized as
  { "arrayProperty" : 1 }
 Note that this feature is counterpart to DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY
 (that is, usually both are enabled, or neither is).
Feature is disabled by default, so that no special handling is done.
@Deprecated public static final SerializationFeature WRITE_BIGDECIMAL_AS_PLAIN
JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN directly
    (using ObjectWriter.with(com.fasterxml.jackson.core.JsonGenerator.Feature)).BigDecimal entries are
 serialized using BigDecimal.toPlainString() to prevent
 values to be written using scientific notation.
 NOTE: since this feature typically requires use of
 JsonGenerator.writeNumber(String)
 ot may cause compatibility problems since not all JsonGenerator
 implementations support such mode of output: usually only text-based formats
 support it.
Feature is disabled by default.
public static final SerializationFeature WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS
 If disabled, standard millisecond timestamps are assumed.
 This is the counterpart to WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS.
Feature is enabled by default, to support most accurate time values possible.
public static final SerializationFeature ORDER_MAP_ENTRIES_BY_KEYS
public static final SerializationFeature EAGER_SERIALIZER_FETCH
ObjectWriter should
 try to eagerly fetch necessary JsonSerializer when
 possible. This improves performance in cases where similarly
 configured ObjectWriter instance is used multiple
 times; and should not significantly affect single-use cases.
Note that there should not be any need to normally disable this feature: only consider that if there are actual perceived problems.
Feature is enabled by default.
public static final SerializationFeature USE_EQUALITY_FOR_OBJECT_ID
equals() method.
 Latter is sometimes useful when dealing with Database-bound objects with
 ORM libraries (like Hibernate).
 Feature is disabled by default; meaning that strict identity is used, not
 equals()
public static SerializationFeature[] values()
for (SerializationFeature c : SerializationFeature.values()) System.out.println(c);
public static SerializationFeature 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 boolean enabledByDefault()
ConfigFeatureenabledByDefault in interface ConfigFeaturepublic int getMask()
ConfigFeaturegetMask in interface ConfigFeaturepublic boolean enabledIn(int flags)
ConfigFeatureenabledIn in interface ConfigFeatureCopyright © 2014–2015 FasterXML. All rights reserved.