org.apache.xml.serializer
Class WriterToASCI

java.lang.Object
  extended by java.io.Writer
      extended by org.apache.xml.serializer.WriterToASCI
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable, WriterChain

 class WriterToASCI
extends java.io.Writer
implements WriterChain

This class writes ASCII to a byte stream as quickly as possible. For the moment it does not do buffering, though I reserve the right to do some buffering down the line if I can prove that it will be faster even if the output stream is buffered. This class is only used internally within Xalan.


Field Summary
private  java.io.OutputStream m_os
          The byte stream to write to.
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
WriterToASCI(java.io.OutputStream os)
          Create an unbuffered ASCII writer.
 
Method Summary
 void close()
          Close the stream, flushing it first.
 void flush()
          Flush the stream.
 java.io.OutputStream getOutputStream()
          Get the output stream where the events will be serialized to.
 java.io.Writer getWriter()
          Get the writer that this writer directly chains to.
 void write(char[] chars, int start, int length)
          Write a portion of an array of characters.
 void write(int c)
          Write a single character.
 void write(java.lang.String s)
          Write a string.
 
Methods inherited from class java.io.Writer
append, append, append, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.xml.serializer.WriterChain
write, write
 

Field Detail

m_os

private final java.io.OutputStream m_os
The byte stream to write to.

Constructor Detail

WriterToASCI

public WriterToASCI(java.io.OutputStream os)
Create an unbuffered ASCII writer.

Parameters:
os - The byte stream to write to.
Method Detail

write

public void write(char[] chars,
                  int start,
                  int length)
           throws java.io.IOException
Write a portion of an array of characters.

Specified by:
write in interface WriterChain
Specified by:
write in class java.io.Writer
Parameters:
chars - Array of characters
start - Offset from which to start writing characters
length - Number of characters to write
Throws:
java.io.IOException - If an I/O error occurs
java.io.IOException

write

public void write(int c)
           throws java.io.IOException
Write a single character. The character to be written is contained in the 16 low-order bits of the given integer value; the 16 high-order bits are ignored.

Subclasses that intend to support efficient single-character output should override this method.

Specified by:
write in interface WriterChain
Overrides:
write in class java.io.Writer
Parameters:
c - int specifying a character to be written.
Throws:
java.io.IOException - If an I/O error occurs

write

public void write(java.lang.String s)
           throws java.io.IOException
Write a string.

Specified by:
write in interface WriterChain
Overrides:
write in class java.io.Writer
Parameters:
s - String to be written
Throws:
java.io.IOException - If an I/O error occurs

flush

public void flush()
           throws java.io.IOException
Flush the stream. If the stream has saved any characters from the various write() methods in a buffer, write them immediately to their intended destination. Then, if that destination is another character or byte stream, flush it. Thus one flush() invocation will flush all the buffers in a chain of Writers and OutputStreams.

Specified by:
flush in interface java.io.Flushable
Specified by:
flush in interface WriterChain
Specified by:
flush in class java.io.Writer
Throws:
java.io.IOException - If an I/O error occurs

close

public void close()
           throws java.io.IOException
Close the stream, flushing it first. Once a stream has been closed, further write() or flush() invocations will cause an IOException to be thrown. Closing a previously-closed stream, however, has no effect.

Specified by:
close in interface java.io.Closeable
Specified by:
close in interface WriterChain
Specified by:
close in class java.io.Writer
Throws:
java.io.IOException - If an I/O error occurs

getOutputStream

public java.io.OutputStream getOutputStream()
Get the output stream where the events will be serialized to.

Specified by:
getOutputStream in interface WriterChain
Returns:
reference to the result stream, or null of only a writer was set.

getWriter

public java.io.Writer getWriter()
Get the writer that this writer directly chains to.

Specified by:
getWriter in interface WriterChain