## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# XalanOutputStream Class Reference

Inheritance diagram for XalanOutputStream:

[legend]
Collaboration diagram for XalanOutputStream:

[legend]
List of all members.

## Public Types

- typedef XalanVector< XalanDOMChar > BufferType
- typedef XalanVector< char > TranscodeVectorType
- typedef XalanTranscodingServices::size_type size_type
- typedef XalanTranscodingServices::UnicodeCharType UnicodeCharType
- enum { eDefaultBufferSize = 512, eDefaultTranscoderBlockSize = 1024 }

## Public Member Functions

- XalanOutputStream (MemoryManagerType &theManager, size_type theBufferSize=eDefaultBufferSize, size_type theTranscoderBlockSize=eDefaultTranscoderBlockSize, bool fThrowTranscodeException=true)
    Constructor.
- virtual ~XalanOutputStream ()
- MemoryManagerType & getMemoryManager ()
- virtual void newline ()
    Write the appropriate newline character(s) to the stream.
- virtual const XalanDOMChar * getNewlineString () const
    Get the string which is appropriate for inserting a line feed in the stream.
- void flushBuffer ()
    Flush the stream's transcoding buffer, but do not request the implementation class to flush its buffer.
- void flush ()
    Flush the stream's buffer.
- void write (char theChar)
    Write a character to the output stream.
- void write (XalanDOMChar theChar)
    Write a wide character to the output stream.
- void write (const char *theBuffer)
    Write a null-terminated string to the output file.
- void write (const XalanDOMChar *theBuffer)
    Write a null-terminated wide string to the output file.
- void write (const char *theBuffer, size_type theBufferLength)
    Write a specified number of characters to the output stream.
- void write (const XalanDOMChar *theBuffer, size_type theBufferLength)
    Write a specified number of characters to the output stream.
- const XalanDOMString & getOutputEncoding () const
    Get the output encoding for the stream.
- void setOutputEncoding (const XalanDOMString &theEncoding)
    Set the output encoding for the stream.
- bool canTranscodeTo (UnicodeCharType theChar) const
    Determine if a given value can be represented in the output encoding.
- const XalanOutputTranscoder * getTranscoder () const
- bool getThrowTranscodeException () const
    Set the flag that indicates whether a transcoding error should throw an exception.
- void setThrowTranscodeException (bool flag)
    Set the flag that indicates whether a transcoding error should throw an exception.
- void setBufferSize (size_type theBufferSize)
    Set the size of the output buffer.

## Static Public Member Functions

- const XalanDOMChar * defaultNewlineString ()

## Protected Member Functions

- void transcode (const XalanDOMChar *theBuffer, size_type theBufferLength, TranscodeVectorType &theDestination)
    Transcode a wide string.
- virtual void writeData (const char *theBuffer, size_type theBufferLength)=0
    Write the data in the buffer.
- virtual void doFlush ()=0
    Flush the stream.

## Static Protected Attributes

- const XalanDOMChar s_nlString []
- const XalanDOMChar s_nlCRString []
- const XalanDOMString::size_type s_nlStringLength
- const XalanDOMString::size_type s_nlCRStringLength

## Member Typedef Documentation

typedef XalanVector<XalanDOMChar> XalanOutputStream::BufferType

typedef XalanTranscodingServices::size_type XalanOutputStream::size_type

typedef XalanVector<char> XalanOutputStream::TranscodeVectorType

typedef XalanTranscodingServices::UnicodeCharType XalanOutputStream::UnicodeCharType

## Member Enumeration Documentation

anonymous enum

  | Enumeration values:
  eDefaultBufferSize |
  eDefaultTranscoderBlockSize |

## Constructor & Destructor Documentation

XalanOutputStream::XalanOutputStream | ( | MemoryManagerType & | theManager,
|  | size_type | theBufferSize = eDefaultBufferSize,
|  | size_type | theTranscoderBlockSize = eDefaultTranscoderBlockSize,
|  | bool | fThrowTranscodeException = true
| ) | `[explicit]`

  | Constructor. Parameters:
  theBufferSize | the size of the transcoding buffer
  theTranscoderBlockSize | the size of the block used by the transcoder
  fThrowTranscodeException | If true, an error transcoding will result in an exception being thrown.

virtual XalanOutputStream::~XalanOutputStream | ( |  | ) | `[virtual]`

## Member Function Documentation

bool XalanOutputStream::canTranscodeTo | ( | UnicodeCharType | theChar | ) | const

| Determine if a given value can be represented in the output encoding. Returns: true if the value can be represented, and false if not.

const XalanDOMChar* XalanOutputStream::defaultNewlineString | ( |  | ) | `[static]`

virtual void XalanOutputStream::doFlush | ( |  | ) | `[protected, pure virtual]`

| Flush the stream. Implemented in XalanFileOutputStream, XalanFStreamOutputStream, XalanNullOutputStream, XalanStdOutputStream, and XalanTransformerOutputStream.

void XalanOutputStream::flush | ( |  | ) |

| Flush the stream's buffer.

void XalanOutputStream::flushBuffer | ( |  | ) |

| Flush the stream's transcoding buffer, but do not request the implementation class to flush its buffer.

MemoryManagerType& XalanOutputStream::getMemoryManager | ( |  | ) |

virtual const XalanDOMChar* XalanOutputStream::getNewlineString | ( |  | ) | const`[virtual]`

| Get the string which is appropriate for inserting a line feed in the stream.

const XalanDOMString& XalanOutputStream::getOutputEncoding | ( |  | ) | const

| Get the output encoding for the stream. Returns: The encoding name

bool XalanOutputStream::getThrowTranscodeException | ( |  | ) | const

| Set the flag that indicates whether a transcoding error should throw an exception. The default is to throw an exception. If this flag is false, and and an error occurs transcoding, then data will likely be lost. Returns: the value of the flag.

const XalanOutputTranscoder* XalanOutputStream::getTranscoder | ( |  | ) | const

virtual void XalanOutputStream::newline | ( |  | ) | `[virtual]`

| Write the appropriate newline character(s) to the stream.

void XalanOutputStream::setBufferSize | ( | size_type | theBufferSize | ) |

  | Set the size of the output buffer. Parameters:
  theBufferSize | The buffer size.

void XalanOutputStream::setOutputEncoding | ( | const XalanDOMString & | theEncoding | ) |

  | Set the output encoding for the stream. Parameters:
  theEncoding | The encoding name

void XalanOutputStream::setThrowTranscodeException | ( | bool | flag | ) |

  | Set the flag that indicates whether a transcoding error should throw an exception. The default is to throw an exception. If this flag is false, and and an error occurs transcoding, then data will likely be lost. Parameters:
  the | new value of the flag.

void XalanOutputStream::transcode | ( | const XalanDOMChar * | theBuffer,
|  | size_type | theBufferLength,
|  | TranscodeVectorType & | theDestination
| ) | `[protected]`

  | Transcode a wide string. Parameters:
  theBuffer | The string to transcode.
  theBufferLength | The length of the string.
  theDestination | The destination vector.

void XalanOutputStream::write | ( | const XalanDOMChar * | theBuffer,
|  | size_type | theBufferLength
| ) |

  | Write a specified number of characters to the output stream. The string will be transcoded, if an output encoding is specified. Parameters:
  theBuffer | character buffer to write
  theBufferLength | number of characters to write

void XalanOutputStream::write | ( | const char * | theBuffer,
|  | size_type | theBufferLength
| ) |

  | Write a specified number of characters to the output stream. The string will not be transcoded. The caller is responsible for making sure the buffer is flushed before calling this member function. Parameters:
  theBuffer | character buffer to write
  theBufferLength | number of characters to write

void XalanOutputStream::write | ( | const XalanDOMChar * | theBuffer | ) |

  | Write a null-terminated wide string to the output file. The string will be transcoded, if an output encoding is specified. Parameters:
  theBuffer | character buffer to write

void XalanOutputStream::write | ( | const char * | theBuffer | ) |

  | Write a null-terminated string to the output file. The character will not be transcoded. The caller is responsible for making sure the buffer is flushed before calling this member function. Parameters:
  theBuffer | character buffer to write

void XalanOutputStream::write | ( | XalanDOMChar | theChar | ) |

  | Write a wide character to the output stream. The character will be transcoded, if an output encoding is specified. Parameters:
  theChar | the character to write

void XalanOutputStream::write | ( | char | theChar | ) |

  | Write a character to the output stream. The character will not be transcoded. Parameters:
  theChar | the character to write

virtual void XalanOutputStream::writeData | ( | const char * | theBuffer,
|  | size_type | theBufferLength
| ) | `[protected, pure virtual]`

  | Write the data in the buffer. Parameters:
  theBuffer | The data to write
  theBufferLength | The length of theBuffer.
Implemented in XalanFileOutputStream, XalanFStreamOutputStream, XalanNullOutputStream, XalanStdOutputStream, and XalanTransformerOutputStream.

## Member Data Documentation

const XalanDOMChar XalanOutputStream::s_nlCRString[]`[static, protected]`

const XalanDOMString::size_type XalanOutputStream::s_nlCRStringLength`[static, protected]`

const XalanDOMChar XalanOutputStream::s_nlString[]`[static, protected]`

const XalanDOMString::size_type XalanOutputStream::s_nlStringLength`[static, protected]`

The documentation for this class was generated from the following file:

- XalanOutputStream.hpp

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.9 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.