org.eclipse.jgit.util.io
Class MessageWriter

java.lang.Object
  extended by java.io.Writer
      extended by org.eclipse.jgit.util.io.MessageWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable

public class MessageWriter
extends Writer

Combines messages from an OutputStream (hopefully in UTF-8) and a Writer.

This class is primarily meant for BaseConnection in contexts where a standard error stream from a command execution, as well as messages from a side-band channel, need to be combined together into a buffer to represent the complete set of messages from a remote repository.

Writes made to the writer are re-encoded as UTF-8 and interleaved into the buffer that getRawStream() also writes to.

toString() returns all written data, after converting it to a String under the assumption of UTF-8 encoding.

Internally RawParseUtils.decode(byte[]) is used by toString() tries to work out a reasonably correct character set for the raw data.


Field Summary
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
MessageWriter()
          Create an empty writer.
 
Method Summary
 void close()
           
 void flush()
           
 OutputStream getRawStream()
           
 String toString()
           
 void write(char[] cbuf, int off, int len)
           
 
Methods inherited from class java.io.Writer
append, append, append, write, write, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MessageWriter

public MessageWriter()
Create an empty writer.

Method Detail

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws IOException
Specified by:
write in class Writer
Throws:
IOException

getRawStream

public OutputStream getRawStream()
Returns:
the underlying byte stream that character writes to this writer drop into. Writes to this stream should should be in UTF-8.

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Specified by:
close in class Writer
Throws:
IOException

flush

public void flush()
           throws IOException
Specified by:
flush in interface Flushable
Specified by:
flush in class Writer
Throws:
IOException

toString

public String toString()
Overrides:
toString in class Object
Returns:
string version of all buffered data.


Copyright © 2012. All Rights Reserved.