Enum XmlFormat

java.lang.Object
java.lang.Enum<XmlFormat>
org.apache.juneau.xml.annotation.XmlFormat
All Implemented Interfaces:
Serializable, Comparable<XmlFormat>, java.lang.constant.Constable

public enum XmlFormat extends Enum<XmlFormat>
XML format to use when serializing a POJO.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    Render a bean property as an attribute instead of an element.
    Render property as attributes instead of an element.
    Prevents collections and arrays from being enclosed in <array> elements.
    Normal formatting (default).
    Render property as an element instead of an attribute.
    Render property value directly as the contents of the element.
    Same as ELEMENTS except primitive types (string/boolean/number/null for example) are not wrapped in elements.
    Same as MIXED, but whitespace in text nodes are not trimmed during parsing.
    Render property value as the text content of the element.
    Same as TEXT, but whitespace in text node is not trimmed during parsing.
    Identifies a void element.
    Same as TEXT except the content is expected to be fully-formed XML that will get serialized as-is.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    isOneOf(XmlFormat... formats)
    Returns true if this format is one of those specified.
    static XmlFormat
    Returns the enum constant of this type with the specified name.
    static XmlFormat[]
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • DEFAULT

      public static final XmlFormat DEFAULT
      Normal formatting (default).

      On a bean class, implies ELEMENTS meaning bean properties will be serialized as child elements by default.

      On a bean property, implies ELEMENT meaning the bean property will be serialized as a child element.

    • ATTR

      public static final XmlFormat ATTR
      Render a bean property as an attribute instead of an element.

      Only applicable for bean properties, not bean classes.

      Can only be applied to properties (methods/fields) of class types that can be convertible to Strings.

    • ATTRS

      public static final XmlFormat ATTRS
      Render property as attributes instead of an element.

      On a bean class, implies bean properties will be serialized as attributes instead of child elements by default.

      On bean properties, implies that the bean property value itself should be serialized as attributes on the bean element. The bean property data type must be of class type Map<Object,Object> where both objects are convertible to Strings.

    • ELEMENT

      public static final XmlFormat ELEMENT
      Render property as an element instead of an attribute.

      Only applicable for bean properties, not bean classes.

      Used to override the behavior of the ATTRS format applied to the bean class.

    • ELEMENTS

      public static final XmlFormat ELEMENTS
      Render property value directly as the contents of the element.

      On a bean class, implies that bean properties will be serialized as child elements. Note that this is equivalent to DEFAULT.

      Only applicable for objects of type array/Collection.

      On a bean property, implies that the bean property value itself should be serialized as child elements of the bean element.

    • MIXED

      public static final XmlFormat MIXED
      Same as ELEMENTS except primitive types (string/boolean/number/null for example) are not wrapped in elements.

      Only applicable for bean properties, not bean classes.

      Only applicable for objects of type array/Collection.

      Use of this format may cause data type loss during parsing if the types cannot be inferred through reflection.

    • MIXED_PWS

      public static final XmlFormat MIXED_PWS
      Same as MIXED, but whitespace in text nodes are not trimmed during parsing.

      An example use is HTML5 <pre> where whitespace should not be discarded.

    • TEXT

      public static final XmlFormat TEXT
      Render property value as the text content of the element.

      Similar to MIXED but value must be a single value, not a collection.

      Only applicable for bean properties, not bean classes.

      Use of this format may cause data type loss during parsing if the type cannot be inferred through reflection.

    • TEXT_PWS

      public static final XmlFormat TEXT_PWS
      Same as TEXT, but whitespace in text node is not trimmed during parsing.
    • XMLTEXT

      public static final XmlFormat XMLTEXT
      Same as TEXT except the content is expected to be fully-formed XML that will get serialized as-is.

      During parsing, this XML text will be re-serialized and set on the property.

      Only applicable for bean properties, not bean classes.

      Use of this format may cause data type loss during parsing if the type cannot be inferred through reflection.

    • COLLAPSED

      public static final XmlFormat COLLAPSED
      Prevents collections and arrays from being enclosed in <array> elements.

      Can only be applied to properties (methods/fields) of type collection or array, or collection classes.

    • VOID

      public static final XmlFormat VOID
      Identifies a void element.

      Only applicable for bean classes.

      Identifies an element that never contains content.

      The main difference in behavior is how non-void empty elements are handled in the HTML serializer. Void elements are serialized as collapsed nodes (e.g. "<br/>") whereas non-void empty elements are serialized with an end tag (e.g. "<p></p>").

  • Method Details

    • values

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

      public static XmlFormat valueOf(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:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • isOneOf

      public boolean isOneOf(XmlFormat... formats)
      Returns true if this format is one of those specified.
      Parameters:
      formats - The formats to match against.
      Returns:
      true if this format is one of those specified.