org.apache.xml.serializer
Class SerializerTraceWriter

java.lang.Object
  |
  +--java.io.Writer
        |
        +--org.apache.xml.serializer.SerializerTraceWriter

public class SerializerTraceWriter
extends java.io.Writer

This class wraps the real writer, it only purpose is to send CHARACTERTOSTREAM events to the trace listener. Each method immediately sends the call to the wrapped writer unchanged, but in addition it collects characters to be issued to a trace listener. In this way the trace listener knows what characters have been written to the output Writer. There may still be differences in what the trace events say is going to the output writer and what is really going there. These differences will be due to the fact that this class is UTF-8 encoding before emiting the trace event and the underlying writer may not be UTF-8 encoding. There may also be encoding differences. So the main pupose of this class is to provide a resonable facsimile of the true output.


Constructor Summary
SerializerTraceWriter(java.io.Writer out, SerializerTrace tracer)
          Constructor.
 
Method Summary
 void close()
          Flush the internal buffer and close the Writer
 void flush()
          Flush the internal buffer and flush the Writer
 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
write, write
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerializerTraceWriter

public SerializerTraceWriter(java.io.Writer out,
                             SerializerTrace tracer)
Constructor. If the writer passed in is null, then this SerializerTraceWriter will only signal trace events of what would have been written to that writer. If the writer passed in is not null then the trace events will mirror what is going to that writer. In this way tools, such as a debugger, can gather information on what is being written out.
Parameters:
out - the Writer to write to (possibly null)
tracer - the tracer to inform that characters are being written
Method Detail

flush

public void flush()
           throws java.io.IOException
Flush the internal buffer and flush the Writer
Overrides:
flush in class java.io.Writer
See Also:
Writer.flush()

close

public void close()
           throws java.io.IOException
Flush the internal buffer and close the Writer
Overrides:
close in class java.io.Writer
See Also:
Writer.close()

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.

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

write

public void write(char[] chars,
                  int start,
                  int length)
           throws java.io.IOException
Write a portion of an array of characters.
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 -  
Overrides:
write in class java.io.Writer

write

public void write(java.lang.String s)
           throws java.io.IOException
Write a string.
Parameters:
s - String to be written
Throws:
java.io.IOException - If an I/O error occurs
Overrides:
write in class java.io.Writer


Copyright © 2004 Apache XML Project. All Rights Reserved.