StreamWriterBase (JiBX Java data binding to XML - Version 1.1.6a)
Date: 2008-06-08

Overview | Package | Class | Deprecated
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jibx.runtime.impl
Class StreamWriterBase

    java.lang.Object
      org.jibx.runtime.impl.XMLWriterNamespaceBase
          org.jibx.runtime.impl.XMLWriterBase
              org.jibx.runtime.impl.StreamWriterBase

All Implemented Interfaces:
  IExtensibleWriter, IXMLWriter

Direct Known Subclasses:
  ISO88591StreamWriter, UTF8StreamWriter

    public abstract class StreamWriterBase

extends XMLWriterBase

Base handler for marshalling text document to an output stream. This is designed for use with character encodings that use standard one-byte values for Unicode characters in the 0x20-0x7F range, which includes the most widely used encodings for XML documents. It needs to be subclassed with implementation methods specific to the encoding used.

Author:
  Dennis M. Sosnoski

Field Summary
`static int` | `DEFAULT_BUFFER_SIZE` Default output buffer size.

Constructor Summary
`StreamWriterBase(StreamWriterBase base, java.lang.String[] uris)` Copy constructor.
`StreamWriterBase(java.lang.String enc, java.lang.String[] uris)` Constructor using default buffer size.

Method Summary
`void` | `close()` Close document output.
`void` | `flush()` Flush document output.
`java.lang.String` | `getEncodingName()` Get the name of the character encoding used by this writer.
`void` | `indent()` Request output indent.
`void` | `indent(int bias)` Request output indent.
`void` | `popExtensionNamespaces()` Remove extension namespace URIs.
`void` | `pushExtensionNamespaces(java.lang.String[] uris)` Append extension namespace URIs to those in mapping.
`void` | `reset()` Reset to initial state for reuse.
`void` | `setIndentSpaces(int count, java.lang.String newline, char indent)` Set nesting indentation.
`void` | `setNamespaceUris(java.lang.String[] uris)` Set namespace URIs.
`void` | `setOutput(java.io.OutputStream outs)` Set output stream.

Methods inherited from class org.jibx.runtime.impl.XMLWriterBase
`addAttribute, closeEmptyTag, closeStartTag, endTag, startTagClosed, startTagNamespaces, startTagOpen, writeComment, writeDocType, writeEntityRef, writePI, writeXMLDecl`

Methods inherited from class org.jibx.runtime.impl.XMLWriterNamespaceBase
`getExtensionNamespaces, getNamespaceCount, getNamespacePrefix, getNamespaces, getNamespaceUri, getNestingDepth, getPrefixIndex, openNamespaces`

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

Methods inherited from interface org.jibx.runtime.IExtensibleWriter
`createChildWriter`

Methods inherited from interface org.jibx.runtime.IXMLWriter
`getExtensionNamespaces, getNamespaceCount, getNamespacePrefix, getNamespaces, getNamespaceUri, getNestingDepth, getPrefixIndex, openNamespaces, writeCData, writeTextContent`

Field Detail

### DEFAULT_BUFFER_SIZE

    public static final int DEFAULT_BUFFER_SIZE

  Default output buffer size.

  See Also:
    Constant Field Values

Constructor Detail

### StreamWriterBase

    public StreamWriterBase(java.lang.String enc,
                            java.lang.String[] uris)

  Constructor using default buffer size.

  Parameters:
    `enc` - character encoding used for output to streams (upper case)
    `uris` - ordered array of URIs for namespaces used in document (must be constant; the value in position 0 must always be the empty string "", and the value in position 1 must always be the XML namespace "http://www.w3.org/XML/1998/namespace")

### StreamWriterBase

    public StreamWriterBase(StreamWriterBase base,
                            java.lang.String[] uris)

  Copy constructor. This takes the stream and encoding information from a supplied instance, while setting a new array of namespace URIs. It's intended for use when invoking one binding from within another binding.

  Parameters:
    `base` - instance to be used as base for writer
    `uris` - ordered array of URIs for namespaces used in document (see `StreamWriterBase(String, String[])`)

Method Detail

### getEncodingName

    public java.lang.String getEncodingName()

  Get the name of the character encoding used by this writer.

  Returns:
    encoding

### setOutput

    public void setOutput(java.io.OutputStream outs)

  Set output stream. If an output stream is currently open when this is called the existing stream is flushed and closed, with any errors ignored.

  Parameters:
    `outs` - stream for document data output

### setNamespaceUris

    public void setNamespaceUris(java.lang.String[] uris)
                          throws java.io.IOException

  Set namespace URIs. This forces a reset of the writer, clearing any buffered output. It is intended to be used only for reconfiguring an existing writer for reuse.

  Parameters:
    `uris` - ordered array of URIs for namespaces used in document
  Throws:
    `java.io.IOException`

### setIndentSpaces

    public void setIndentSpaces(int count,
                                java.lang.String newline,
                                char indent)

  Set nesting indentation. This is advisory only, and implementations of this interface are free to ignore it. The intent is to indicate that the generated output should use indenting to illustrate element nesting.

  Parameters:
    `count` - number of character to indent per level, or disable indentation if negative (zero means new line only)
    `newline` - sequence of characters used for a line ending (`null` means use the single character '\n')
    `indent` - whitespace character used for indentation

### pushExtensionNamespaces

    public void pushExtensionNamespaces(java.lang.String[] uris)

  Append extension namespace URIs to those in mapping.

  Specified by:
    `pushExtensionNamespaces` in interface `IXMLWriter`
  Overrides:
    `pushExtensionNamespaces` in class `XMLWriterNamespaceBase`
  Parameters:
    `uris` - namespace URIs to extend those in mapping

### popExtensionNamespaces

    public void popExtensionNamespaces()

  Remove extension namespace URIs. This removes the last set of extension namespaces pushed using `pushExtensionNamespaces(java.lang.String[])`.

  Specified by:
    `popExtensionNamespaces` in interface `IXMLWriter`
  Overrides:
    `popExtensionNamespaces` in class `XMLWriterNamespaceBase`

### indent

    public void indent(int bias)
                throws java.io.IOException

  Request output indent. Output the line end sequence followed by the appropriate number of indent characters.

  Parameters:
    `bias` - indent depth difference (positive or negative) from current element nesting depth
  Throws:
    `java.io.IOException` - on error writing to document

### indent

    public void indent()
                throws java.io.IOException

  Request output indent. Output the line end sequence followed by the appropriate number of indent characters for the current nesting level.

  Throws:
    `java.io.IOException` - on error writing to document

### flush

    public void flush()
               throws java.io.IOException

  Flush document output. Forces out all output generated to this point, unless using a chunking output mechanism.

  Specified by:
    `flush` in interface `IXMLWriter`
  Specified by:
    `flush` in class `XMLWriterBase`
  Throws:
    `java.io.IOException` - on error writing to document

### close

    public void close()
               throws java.io.IOException

  Close document output. Completes writing of document output, including closing the output medium.

  Specified by:
    `close` in interface `IXMLWriter`
  Specified by:
    `close` in class `XMLWriterBase`
  Throws:
    `java.io.IOException` - on error writing to document

### reset

    public void reset()

  Reset to initial state for reuse. This override of the base class method handles clearing the internal buffer when starting a new document.

  Specified by:
    `reset` in interface `IXMLWriter`
  Overrides:
    `reset` in class `XMLWriterBase`

Overview | Package | Class | Deprecated
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Project Web Site |