Class XMLStringBuffer


  • public class XMLStringBuffer
    extends java.lang.Object
    This class allows you to generate an XML text document by pushing and popping tags from a stack maintained internally.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String EOL
      End of line, value of 'line.separator' system property or '\n'
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addCDATA​(java.lang.String content)  
      void addComment​(java.lang.String comment)  
      void addEmptyElement​(java.lang.String tagName)
      Add an empty element tag (e.g.
      void addEmptyElement​(java.lang.String tagName, java.lang.String... attributes)  
      void addEmptyElement​(java.lang.String tagName, java.util.Properties attributes)
      Add an empty element tag (e.g.
      void addOptional​(java.lang.String tagName, java.lang.Boolean value)
      Add an optional Boolean element to the current tag.
      void addOptional​(java.lang.String tagName, java.lang.Boolean value, java.util.Properties attributes)
      Add an optional Boolean element to the current tag.
      void addOptional​(java.lang.String tagName, java.lang.String value)
      Add an optional String element to the current tag.
      void addOptional​(java.lang.String tagName, java.lang.String value, java.lang.String... attributes)  
      void addOptional​(java.lang.String tagName, java.lang.String value, java.util.Properties attributes)
      Add an optional String element to the current tag.
      void addRequired​(java.lang.String tagName, java.lang.String value)
      Add a required element to the current tag.
      void addRequired​(java.lang.String tagName, java.lang.String value, java.lang.String... attributes)  
      void addRequired​(java.lang.String tagName, java.lang.String value, java.util.Properties attributes)
      Add a required element to the current tag.
      void addString​(java.lang.String s)  
      java.lang.String getCurrentIndent()  
      IBuffer getStringBuffer()  
      void pop()
      Pop the last pushed element without verifying it if matches the previously pushed tag.
      void pop​(java.lang.String tagName)
      Pop the last pushed element and throws an AssertionError if it doesn't match the corresponding tag that was pushed earlier.
      void push​(java.lang.String tagName)
      Push a new tag.
      void push​(java.lang.String tagName, java.lang.String schema)
      Push a new tag.
      void push​(java.lang.String tagName, java.lang.String... attributes)  
      void push​(java.lang.String tagName, java.lang.String schema, java.util.Properties attributes)
      Push a new tag.
      void push​(java.lang.String tagName, java.util.Properties attributes)
      Push a new tag.
      void setDefaultComment​(java.lang.String defaultComment)  
      void setDocType​(java.lang.String docType)
      Set the doctype for this document.
      void setXmlDetails​(java.lang.String v, java.lang.String enc)
      Set the xml version and encoding for this document.
      void toWriter​(java.io.Writer fw)  
      java.lang.String toXML()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • EOL

        public static final java.lang.String EOL
        End of line, value of 'line.separator' system property or '\n'
    • Constructor Detail

      • XMLStringBuffer

        public XMLStringBuffer()
      • XMLStringBuffer

        public XMLStringBuffer​(java.lang.String start)
        Parameters:
        start - A string of spaces indicating the indentation at which to start the generation. This constructor will not insert an <?xml prologue.
      • XMLStringBuffer

        public XMLStringBuffer​(IBuffer buffer,
                               java.lang.String start)
        Parameters:
        buffer - The StringBuffer to use internally to represent the document.
        start - A string of spaces indicating the indentation at which to start the generation.
    • Method Detail

      • setXmlDetails

        public void setXmlDetails​(java.lang.String v,
                                  java.lang.String enc)
        Set the xml version and encoding for this document.
        Parameters:
        v - the XML version
        enc - the XML encoding
      • setDocType

        public void setDocType​(java.lang.String docType)
        Set the doctype for this document.
        Parameters:
        docType - The DOCTYPE string, without the "<!DOCTYPE " ">"
      • push

        public void push​(java.lang.String tagName,
                         @Nullable
                         java.lang.String schema,
                         @Nullable
                         java.util.Properties attributes)
        Push a new tag. Its value is stored and will be compared against the parameter passed to pop().
        Parameters:
        tagName - The name of the tag.
        schema - The schema to use (can be null or an empty string).
        attributes - A Properties file representing the attributes (or null)
      • push

        public void push​(java.lang.String tagName,
                         @Nullable
                         java.lang.String schema)
        Push a new tag. Its value is stored and will be compared against the parameter passed to pop().
        Parameters:
        tagName - The name of the tag.
        schema - The schema to use (can be null or an empty string).
      • push

        public void push​(java.lang.String tagName,
                         @Nullable
                         java.util.Properties attributes)
        Push a new tag. Its value is stored and will be compared against the parameter passed to pop().
        Parameters:
        tagName - The name of the tag.
        attributes - A Properties file representing the attributes (or null)
      • push

        public void push​(java.lang.String tagName,
                         java.lang.String... attributes)
      • push

        public void push​(java.lang.String tagName)
        Push a new tag. Its value is stored and will be compared against the parameter passed to pop().
        Parameters:
        tagName - The name of the tag.
      • pop

        public void pop()
        Pop the last pushed element without verifying it if matches the previously pushed tag.
      • pop

        public void pop​(java.lang.String tagName)
        Pop the last pushed element and throws an AssertionError if it doesn't match the corresponding tag that was pushed earlier.
        Parameters:
        tagName - The name of the tag this pop() is supposed to match.
      • addRequired

        public void addRequired​(java.lang.String tagName,
                                @Nullable
                                java.lang.String value)
        Add a required element to the current tag. An opening and closing tag will be generated even if value is null.
        Parameters:
        tagName - The name of the tag
        value - The value for this tag
      • addRequired

        public void addRequired​(java.lang.String tagName,
                                @Nullable
                                java.lang.String value,
                                @Nullable
                                java.util.Properties attributes)
        Add a required element to the current tag. An opening and closing tag will be generated even if value is null.
        Parameters:
        tagName - The name of the tag
        value - The value for this tag
        attributes - A Properties file containing the attributes (or null)
      • addRequired

        public void addRequired​(java.lang.String tagName,
                                @Nullable
                                java.lang.String value,
                                java.lang.String... attributes)
      • addOptional

        public void addOptional​(java.lang.String tagName,
                                @Nullable
                                java.lang.String value,
                                @Nullable
                                java.util.Properties attributes)
        Add an optional String element to the current tag. If value is null, nothing is added.
        Parameters:
        tagName - The name of the tag
        value - The value for this tag
        attributes - A Properties file containing the attributes (or null)
      • addOptional

        public void addOptional​(java.lang.String tagName,
                                @Nullable
                                java.lang.String value,
                                java.lang.String... attributes)
      • addOptional

        public void addOptional​(java.lang.String tagName,
                                @Nullable
                                java.lang.String value)
        Add an optional String element to the current tag. If value is null, nothing is added.
        Parameters:
        tagName - The name of the tag
        value - The value for this tag
      • addOptional

        public void addOptional​(java.lang.String tagName,
                                @Nullable
                                java.lang.Boolean value,
                                @Nullable
                                java.util.Properties attributes)
        Add an optional Boolean element to the current tag. If value is null, nothing is added.
        Parameters:
        tagName - The name of the tag
        value - The value for this tag
        attributes - A Properties file containing the attributes (or null)
      • addOptional

        public void addOptional​(java.lang.String tagName,
                                @Nullable
                                java.lang.Boolean value)
        Add an optional Boolean element to the current tag. If value is null, nothing is added.
        Parameters:
        tagName - The name of the tag
        value - The value for this tag
      • addEmptyElement

        public void addEmptyElement​(java.lang.String tagName)
        Add an empty element tag (e.g. <foo/>)
        Parameters:
        tagName - The name of the tag
      • addEmptyElement

        public void addEmptyElement​(java.lang.String tagName,
                                    @Nullable
                                    java.util.Properties attributes)
        Add an empty element tag (e.g. >foo/<)
        Parameters:
        tagName - The name of the tag
        attributes - A Properties file containing the attributes (or null)
      • addEmptyElement

        public void addEmptyElement​(java.lang.String tagName,
                                    java.lang.String... attributes)
      • addComment

        public void addComment​(java.lang.String comment)
      • addString

        public void addString​(java.lang.String s)
      • setDefaultComment

        public void setDefaultComment​(java.lang.String defaultComment)
      • addCDATA

        public void addCDATA​(java.lang.String content)
      • getStringBuffer

        public IBuffer getStringBuffer()
        Returns:
        The StringBuffer used to create the document.
      • toXML

        public java.lang.String toXML()
        Returns:
        The String representation of the XML for this XMLStringBuffer.
      • getCurrentIndent

        public java.lang.String getCurrentIndent()
      • toWriter

        public void toWriter​(java.io.Writer fw)