# NodeBuilder
Date: 2013-02-18

## org.simpleframework.xml.stream
Class NodeBuilder

    java.lang.Object
      org.simpleframework.xml.stream.NodeBuilder

    public final class NodeBuilder

extends java.lang.Object

The `NodeBuilder` object is used to create either an input node or an output node for a given source or destination. If an `InputNode` is required for reading an XML document then a reader must be provided to read the content from.

If an `OutputNode` is required then a destination is required. The provided output node can be used to generate well formed XML to the specified writer.

Author:
  Niall Gallagher

Constructor Summary
`NodeBuilder()`

Method Summary
`static InputNode` `read(java.io.InputStream source)` This is used to create an `InputNode` that can be used to read XML from the specified stream.
`static InputNode` `read(java.io.Reader source)` This is used to create an `InputNode` that can be used to read XML from the specified reader.
`static OutputNode` `write(java.io.Writer result)` This is used to create an `OutputNode` that can be used to write a well formed XML document.
`static OutputNode` `write(java.io.Writer result, Format format)` This is used to create an `OutputNode` that can be used to write a well formed XML document.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### NodeBuilder

    public NodeBuilder()

Method Detail

### read

    public static InputNode read(java.io.InputStream source)
                          throws java.lang.Exception

  This is used to create an `InputNode` that can be used to read XML from the specified stream. The stream will be positioned at the root element in the XML document.

  Parameters:
    `source` - this contains the contents of the XML source
  Throws:
    `java.lang.Exception` - thrown if there is an I/O exception

### read

    public static InputNode read(java.io.Reader source)
                          throws java.lang.Exception

  This is used to create an `InputNode` that can be used to read XML from the specified reader. The reader will be positioned at the root element in the XML document.

  Parameters:
    `source` - this contains the contents of the XML source
  Throws:
    `java.lang.Exception` - thrown if there is an I/O exception

### write

    public static OutputNode write(java.io.Writer result)
                            throws java.lang.Exception

  This is used to create an `OutputNode` that can be used to write a well formed XML document. The writer specified will have XML elements, attributes, and text written to it as output nodes are created and populated.

  Parameters:
    `result` - this contains the result of the generated XML
  Throws:
    `java.lang.Exception` - this is thrown if there is an I/O error

### write

    public static OutputNode write(java.io.Writer result,
                                   Format format)
                            throws java.lang.Exception

  This is used to create an `OutputNode` that can be used to write a well formed XML document. The writer specified will have XML elements, attributes, and text written to it as output nodes are created and populated.

  Parameters:
    `result` - this contains the result of the generated XML
    `format` - this is the format to use for the document
  Throws:
    `java.lang.Exception` - this is thrown if there is an I/O error