Class 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 Detail

      • projectVersion

        protected String projectVersion
      • indent

        protected String indent
      • indentLine

        protected boolean indentLine
      • indentTimes

        protected int indentTimes
      • tagOpened

        protected boolean tagOpened
      • cdata

        protected boolean cdata
      • currentTagLevel

        protected int currentTagLevel
      • lastTagLevel

        protected int lastTagLevel
    • Method Detail

      • 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
      • 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