Class XMLEncoder

java.lang.Object
org.apache.cayenne.util.XMLEncoder

public class XMLEncoder extends Object

A helper class to encode objects to XML.

Usage:

      XMLEncoder encoder = new XMLEncoder(writer);
      encoder
          .start("tag").attribute("name", "tag_name_attribute")
          .start("nested_tag").attribute("name", "nested_tag_name).cdata("tag text element").end()
          .end();
 
Since:
1.1, 4.1 API is greatly reworked to be more usable
  • Field Details

    • projectVersion

      protected String projectVersion
    • indent

      protected String indent
    • out

      protected PrintWriter out
    • indentLine

      protected boolean indentLine
    • indentTimes

      protected int indentTimes
    • tagOpened

      protected boolean tagOpened
    • cdata

      protected boolean cdata
    • currentTagLevel

      protected int currentTagLevel
    • lastTagLevel

      protected int lastTagLevel
    • openTags

      protected Deque<String> openTags
  • Constructor Details

  • Method Details

    • indent

      public XMLEncoder indent(int i)
    • print

      public XMLEncoder print(String text)
    • println

      public XMLEncoder println(String text)
    • println

      public XMLEncoder println()
      Since:
      3.1
    • start

      public XMLEncoder start(String tag)
      Parameters:
      tag - to start
      Returns:
      this
      Since:
      4.1
    • end

      public XMLEncoder end()
      This method will track presence of nested tags and print closure accordingly
      Returns:
      this
      Since:
      4.1
    • attribute

      public XMLEncoder attribute(String name, String value)
      Parameters:
      name - of the attribute
      value - of the attribute
      Returns:
      this
      Since:
      4.1
    • attribute

      public XMLEncoder attribute(String name, String value, boolean newLine)
      Parameters:
      name - of the attribute
      value - of the attribute
      newLine - should this attribute be printed on new line
      Returns:
      this
      Since:
      4.1
    • attribute

      public XMLEncoder attribute(String name, boolean value)
      Parameters:
      name - of the attribute
      value - of the attribute
      Returns:
      this
      Since:
      4.1
    • attribute

      public XMLEncoder attribute(String name, int value)
      Parameters:
      name - of the attribute
      value - of the attribute
      Returns:
      this
      Since:
      4.1
    • cdata

      public XMLEncoder cdata(String data)
      Parameters:
      data - char data
      Returns:
      this
      Since:
      4.1
    • cdata

      public XMLEncoder cdata(String data, boolean escape)
      Parameters:
      data - char data
      escape - does this data need to be enclosed into <![CDATA[ ... ]]>
      Returns:
      this
      Since:
      4.1
    • nested

      public XMLEncoder nested(XMLSerializable object, ConfigurationNodeVisitor delegate)
      Parameters:
      object - nested object to serialize
      delegate - visitor
      Returns:
      this
      Since:
      4.1
    • nested

      public XMLEncoder nested(Collection<? extends XMLSerializable> collection, ConfigurationNodeVisitor delegate)
      Parameters:
      collection - of nested objects
      delegate - visitor
      Returns:
      this
      Since:
      4.1
    • nested

      public XMLEncoder nested(Map<?,? extends XMLSerializable> map, ConfigurationNodeVisitor delegate)
      Parameters:
      map - of nested objects
      delegate - visitor
      Returns:
      this
      Since:
      4.1
    • property

      public XMLEncoder property(String name, String value)
      Prints a common XML element - property with name and value.
      Since:
      4.1
    • property

      public XMLEncoder property(String name, boolean b)
      Prints a common XML element - property with name and value.
      Since:
      4.1
    • property

      public XMLEncoder property(String name, int i)
      Prints a common XML element - property with name and value.
      Since:
      4.1
    • simpleTag

      public XMLEncoder simpleTag(String tag, String value)
      Prints common XML element - tag with name and text value (<tag>value</tag>) If value is empty, nothing will be printed.
      Since:
      4.1
    • projectVersion

      public XMLEncoder projectVersion()
      Inserts an optional project version attribute in the output. If the project version is not initialized for encoder, will do nothing.
      Since:
      4.1