Package org.apache.catalina.util

## Class XMLWriter

- java.lang.Object
- - org.apache.catalina.util.XMLWriter

-     public class XMLWriter
      extends java.lang.Object

  XMLWriter helper class.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.StringBuilder` | `buffer` | Buffer.
    `static int` | `CLOSING` | Closing tag.
    `protected boolean` | `lastWriteWasOpen` |
    `static int` | `NO_CONTENT` | Element with no content.
    `static int` | `OPENING` | Opening tag.
    `protected java.io.Writer` | `writer` | Writer.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `XMLWriter()` | New XML writer utility that will store its data in an internal buffer.
    `XMLWriter​(java.io.Writer writer)` | New XML writer utility that will store its data in an internal buffer and can write it to the specified writer.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `sendData()` | Send data and reinitializes buffer, if a writer has been specified.
    `java.lang.String` | `toString()` | Retrieve generated XML.
    `void` | `writeData​(java.lang.String data)` | Write data.
    `void` | `writeElement​(java.lang.String namespace, java.lang.String name, int type)` | Write an element.
    `void` | `writeElement​(java.lang.String namespace, java.lang.String namespaceInfo, java.lang.String name, int type)` | Write an element.
    `void` | `writeProperty​(java.lang.String namespace, java.lang.String name, java.lang.String value)` | Write property to the XML.
    `void` | `writeText​(java.lang.String text)` | Write text.
    `void` | `writeXMLHeader()` | Write XML Header.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### OPENING

          public static final int OPENING

      Opening tag.
      See Also:
        Constant Field Values

    - #### CLOSING

          public static final int CLOSING

      Closing tag.
      See Also:
        Constant Field Values

    - #### NO_CONTENT

          public static final int NO_CONTENT

      Element with no content.
      See Also:
        Constant Field Values

    - #### buffer

          protected java.lang.StringBuilder buffer

      Buffer.

    - #### writer

          protected final java.io.Writer writer

      Writer.

    - #### lastWriteWasOpen

          protected boolean lastWriteWasOpen

  - ### Constructor Detail

    - #### XMLWriter

          public XMLWriter()

      New XML writer utility that will store its data in an internal buffer.

    - #### XMLWriter

          public XMLWriter​(java.io.Writer writer)

      New XML writer utility that will store its data in an internal buffer and can write it to the specified writer.

      See `sendData()`

      Parameters:
        `writer` - The writer to use

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Retrieve generated XML.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        String containing the generated XML

    - #### writeProperty

          public void writeProperty​(java.lang.String namespace,
                                    java.lang.String name,
                                    java.lang.String value)

      Write property to the XML.
      Parameters:
        `namespace` - Namespace
        `name` - Property name
        `value` - Property value

    - #### writeElement

          public void writeElement​(java.lang.String namespace,
                                   java.lang.String name,
                                   int type)

      Write an element.
      Parameters:
        `name` - Element name
        `namespace` - Namespace abbreviation
        `type` - Element type

    - #### writeElement

          public void writeElement​(java.lang.String namespace,
                                   java.lang.String namespaceInfo,
                                   java.lang.String name,
                                   int type)

      Write an element.
      Parameters:
        `namespace` - Namespace abbreviation
        `namespaceInfo` - Namespace info
        `name` - Element name
        `type` - Element type

    - #### writeText

          public void writeText​(java.lang.String text)

      Write text.
      Parameters:
        `text` - Text to append

    - #### writeData

          public void writeData​(java.lang.String data)

      Write data.
      Parameters:
        `data` - Data to append

    - #### writeXMLHeader

          public void writeXMLHeader()

      Write XML Header.

    - #### sendData

          public void sendData()
                        throws java.io.IOException

      Send data and reinitializes buffer, if a writer has been specified.
      Throws:
        `java.io.IOException` - Error writing XML data