Class XMLWriter


  • public class XMLWriter
    extends java.lang.Object
    API for writing XML.
    • Constructor Summary

      Constructors 
      Constructor Description
      XMLWriter​(java.io.PrintWriter pw)  
      XMLWriter​(java.io.PrintWriter pw, int indent)  
      XMLWriter​(java.io.PrintWriter pw, int indent, int maxAttrsOnSameLine)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addAttribute​(java.lang.String... attributes)
      Adds attributes to current XML element.
      void addAttribute​(java.lang.String name, java.lang.String value)
      Adds attribute (name and value) to current XML element.
      void addAttribute​(java.util.Map<java.lang.String,​java.lang.String> attributes)
      Adds attributes to current XML element, represented as Map.
      void addCDATA​(java.lang.String in)  
      void addClosedElement​(java.lang.String elementName)
      Adds a single closed element.
      void addClosedElement​(java.lang.String elementName, java.lang.String... attributes)
      Adds a closed element with attributes
      void addClosedElements​(java.lang.String... elementNames)
      Adds many closed elements.
      void addClosedTextElement​(java.lang.String elementName, java.lang.String text, java.lang.String... attributes)
      Writes a new, closed, XML element to PrintWriter.
      void addComment​(java.lang.String comment)  
      void addDoctype​(java.lang.String doctypeName, java.lang.String publicID, java.lang.String systemID)
      Writes DOCTYPE, publicID, privateID.
      void addElement​(java.lang.String elementName)
      Writes a new XML element to PrintWriter.
      void addElement​(java.lang.String elementName, java.lang.String textChild)
      Convenience method for passing parent and child text element.
      void addElement​(java.lang.String elementName, java.lang.String... attributes)
      Writes a new XML element to PrintWriter.
      void addElement​(java.lang.String elementName, java.util.Map<java.lang.String,​java.lang.String> attributes)
      Writes a new XML element to PrintWriter.
      void addNamespace​(java.lang.String shortNS, java.lang.String longNS)  
      void addNestedElements​(java.lang.String... elementNames)
      Adds nested closed elements.
      void addText​(java.lang.String in)
      Writes Text as child element to the current element.
      void addText​(java.lang.String in, boolean onNewLine)  
      void addVersion()
      Add version.
      void addVersion​(boolean standalone)  
      void closeElement()
      Closes the last XML element that has been written.
      void closeElement​(boolean elementOnNewLine)  
      void finish()
      Closes all XML elements that have been added, and not yet closed, and flushes the underlying PrintWriter.
      void flush()
      Calls flush on underlying PrintWriter.
      void forceCloseOnNewLine()
      The current element will be closed on a new line, and attributes added will each be on a new line.
      java.lang.String getIndent()  
      java.lang.String getLineSep()  
      void setCurrentShortNS​(java.lang.String s)  
      void setStartIndent​(int startIndent)  
      void setTextOnSameLineAsParentElement​(boolean b)
      Switches the behavior for addElementWithTextChild.
      void unsetCurrentShortNS()  
      boolean willCloseOnNewLine()  
      • Methods inherited from class java.lang.Object

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

      • XMLWriter

        public XMLWriter​(java.io.PrintWriter pw)
      • XMLWriter

        public XMLWriter​(java.io.PrintWriter pw,
                         int indent)
      • XMLWriter

        public XMLWriter​(java.io.PrintWriter pw,
                         int indent,
                         int maxAttrsOnSameLine)
    • Method Detail

      • flush

        public void flush()
        Calls flush on underlying PrintWriter.
      • addDoctype

        public void addDoctype​(java.lang.String doctypeName,
                               java.lang.String publicID,
                               java.lang.String systemID)
        Writes DOCTYPE, publicID, privateID. Can only be called before adding any elements.
      • addVersion

        public void addVersion()
        Add version. Can only be called before adding any elements.
      • addVersion

        public void addVersion​(boolean standalone)
      • setCurrentShortNS

        public void setCurrentShortNS​(java.lang.String s)
      • unsetCurrentShortNS

        public void unsetCurrentShortNS()
      • forceCloseOnNewLine

        public void forceCloseOnNewLine()
        The current element will be closed on a new line, and attributes added will each be on a new line.
      • willCloseOnNewLine

        public boolean willCloseOnNewLine()
      • setStartIndent

        public void setStartIndent​(int startIndent)
      • setTextOnSameLineAsParentElement

        public void setTextOnSameLineAsParentElement​(boolean b)
        Switches the behavior for addElementWithTextChild. a vs.
        a
      • addNamespace

        public void addNamespace​(java.lang.String shortNS,
                                 java.lang.String longNS)
      • addComment

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

        public void addAttribute​(java.lang.String name,
                                 java.lang.String value)
        Adds attribute (name and value) to current XML element.
      • addAttribute

        public void addAttribute​(java.util.Map<java.lang.String,​java.lang.String> attributes)
        Adds attributes to current XML element, represented as Map. Uses the keys as attribute names and corresponding elements as attribute values. Calls String.valueOf(...) on keys and values.
      • addAttribute

        public void addAttribute​(java.lang.String... attributes)
        Adds attributes to current XML element. Attribute names and values are passed in as String Array, using the following format: {n1, v1, n2, v2, n3, v3, ...}
      • addNestedElements

        public void addNestedElements​(java.lang.String... elementNames)
        Adds nested closed elements.
      • addClosedElements

        public void addClosedElements​(java.lang.String... elementNames)
        Adds many closed elements.
      • addClosedElement

        public void addClosedElement​(java.lang.String elementName)
        Adds a single closed element.
      • addClosedElement

        public void addClosedElement​(java.lang.String elementName,
                                     java.lang.String... attributes)
        Adds a closed element with attributes
      • addElement

        public void addElement​(java.lang.String elementName)
        Writes a new XML element to PrintWriter. If another XML element has been written and not closed, writes this element as a child.
      • addElement

        public void addElement​(java.lang.String elementName,
                               java.lang.String textChild)
        Convenience method for passing parent and child text element. The result is
        <elementName>textChild</elementName>
        if setTextOnSameLineAsParentElement is set to true on this instance of XMLWriter.
        Otherwise the result is:
        <elementName>
        textChild
        </elementName>
      • addElement

        public void addElement​(java.lang.String elementName,
                               java.lang.String... attributes)
        Writes a new XML element to PrintWriter. If another XML element has been written and not closed, writes this element as a child. Also adds passed attributes.
      • addClosedTextElement

        public void addClosedTextElement​(java.lang.String elementName,
                                         java.lang.String text,
                                         java.lang.String... attributes)
        Writes a new, closed, XML element to PrintWriter. If another XML element has been written and not closed, writes this element as a child. Adds passed attributes and character data.
      • addElement

        public void addElement​(java.lang.String elementName,
                               java.util.Map<java.lang.String,​java.lang.String> attributes)
        Writes a new XML element to PrintWriter. If another XML element has been written and not closed, writes this element as a child. Also adds passed attributes.
      • closeElement

        public void closeElement()
        Closes the last XML element that has been written.
      • closeElement

        public void closeElement​(boolean elementOnNewLine)
      • addText

        public void addText​(java.lang.String in)
        Writes Text as child element to the current element.
      • addText

        public void addText​(java.lang.String in,
                            boolean onNewLine)
      • addCDATA

        public void addCDATA​(java.lang.String in)
      • finish

        public void finish()
        Closes all XML elements that have been added, and not yet closed, and flushes the underlying PrintWriter.
      • getIndent

        public java.lang.String getIndent()
        Returns:
        The current indentation
      • getLineSep

        public java.lang.String getLineSep()