Enum Class XmlWriteFeature

java.lang.Object
java.lang.Enum<XmlWriteFeature>
tools.jackson.dataformat.xml.XmlWriteFeature
All Implemented Interfaces:
Serializable, Comparable<XmlWriteFeature>, Constable, tools.jackson.core.FormatFeature, tools.jackson.core.util.JacksonFeature

public enum XmlWriteFeature extends Enum<XmlWriteFeature> implements tools.jackson.core.FormatFeature
Enumeration that defines all togglable extra XML-specific features.

NOTE: in Jackson 2.x this was named ToXmlGenerator.Feature.

  • Enum Constant Details

    • WRITE_XML_DECLARATION

      public static final XmlWriteFeature WRITE_XML_DECLARATION
      Feature that controls whether XML declaration should be written before when generator is initialized (true) or not (false)
    • WRITE_XML_1_1

      public static final XmlWriteFeature WRITE_XML_1_1
      Feature that controls whether output should be done as XML 1.1; if so, certain aspects may differ from default (1.0) processing: for example, XML declaration will be automatically added (regardless of setting WRITE_XML_DECLARATION) as this is required for reader to know to use 1.1 compliant handling. XML 1.1 can be used to allow quoted control characters (Ascii codes 0 through 31) as well as additional linefeeds and name characters.
    • WRITE_STANDALONE_YES_TO_XML_DECLARATION

      public static final XmlWriteFeature WRITE_STANDALONE_YES_TO_XML_DECLARATION
      Feature that controls whether XML declaration should include the standalone attribute when generator is initialized (true) or not (false). Only honored when WRITE_XML_DECLARATION is enabled
    • WRITE_NULLS_AS_XSI_NIL

      public static final XmlWriteFeature WRITE_NULLS_AS_XSI_NIL
      Feature that controls whether serialization of Java null values adds XML attribute of `xsi:nil`, as defined by XML Schema (see this article for details) or not. If enabled, `xsi:nil` attribute will be added to the empty element; if disabled, it will not.

      Default setting is true (enabled) in Jackson 3.x: it was false (disabled)in Jackson 2.x.

    • UNWRAP_ROOT_OBJECT_NODE

      public static final XmlWriteFeature UNWRAP_ROOT_OBJECT_NODE
      Feature that determines writing of root values of type ObjectNode (JsonNode subtype that represents Object content values), regarding XML output. If enabled and ObjectNode has exactly one entry (key/value pair), then key of that entry is used as the root element name (and value is written as contents. Otherwise (if feature disabled, or if root ObjectNode has any other number of key/value entries, root element name is determined using normal logic (either explicitly configured, or ObjectNode otherwise).

      Default setting is true (enabled) in Jackson 3.x: it was false (disabled)in Jackson 2.x.

    • AUTO_DETECT_XSI_TYPE

      public static final XmlWriteFeature AUTO_DETECT_XSI_TYPE
      Feature that enables automatic conversion of logical property name "xsi:type" into matching XML name where "type" is the local name and "xsi" prefix is bound to URI XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, and output is indicated to be done as XML Attribute. This is mostly desirable for Polymorphic handling where it is difficult to specify XML Namespace for type identifier

      Default setting is true (enabled) in Jackson 3.0: it was false (disabled)in Jackson 2.x.

    • WRITE_XML_SCHEMA_CONFORMING_FLOATS

      public static final XmlWriteFeature WRITE_XML_SCHEMA_CONFORMING_FLOATS
      Feature that determines how floating-point infinity values are serialized.

      By default, Float.POSITIVE_INFINITY and Double.POSITIVE_INFINITY are serialized as Infinity, and Float.NEGATIVE_INFINITY and Double.NEGATIVE_INFINITY are serialized as -Infinity. This is the representation that Java normally uses for these values (see Float.toString(float) and Double.toString(double)), but JAXB and other XML Schema-conforming readers won't understand it.

      With this feature enabled, these values are instead serialized as INF and -INF, respectively. This is the representation that XML Schema and JAXB use (see the XML Schema primitive types float and double).

      When deserializing, Jackson always understands both representations, so there is no corresponding XmlReadFeature.

      Default setting is true (enabled) in Jackson 3.0: it was false (disabled)in Jackson 2.x.

  • Method Details

    • values

      public static XmlWriteFeature[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static XmlWriteFeature valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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:
      IllegalArgumentException - if this enum class has no constant with the specified name
      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.
    • enabledByDefault

      public boolean enabledByDefault()
      Specified by:
      enabledByDefault in interface tools.jackson.core.util.JacksonFeature
    • getMask

      public int getMask()
      Specified by:
      getMask in interface tools.jackson.core.util.JacksonFeature
    • enabledIn

      public boolean enabledIn(int flags)
      Specified by:
      enabledIn in interface tools.jackson.core.util.JacksonFeature