Top Description Fields Constructors Methods
org.eclipse.jgit.util.io

public Class MessageWriter

extends Writer
Class Inheritance
Static Imports
java.nio.charset.StandardCharsets.UTF_8

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 org.eclipse.jgit.util.RawParseUtils#decode(byte[]) is used by toString() tries to work out a reasonably correct character set for the raw data.

Field Summary

Modifier and TypeField and Description
private final ByteArrayOutputStream
private final OutputStreamWriter
Inherited from java.io.Writer:
lock

Constructor Summary

AccessConstructor and Description
public
MessageWriter()

Create an empty writer.

Method Summary

Modifier and TypeMethod and Description
public void
close()

Implements abstract java.io.Writer.close.

Implements java.io.Closeable.close.

Closes the stream, flushing it first.

public void
flush()

Implements abstract java.io.Writer.flush.

Implements java.io.Flushable.flush.

Flushes the stream.

public OutputStream

Returns:

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

Get the underlying byte stream that character writes to this writer drop into.

public String

Returns:

string version of all buffered data.
toString
()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public void
write(char[]
Array of characters
cbuf
,
int
Offset from which to start writing characters
off
,
int
Number of characters to write
len
)

Implements abstract java.io.Writer.write.

Writes a portion of an array of characters.

Inherited from java.io.Writer:
appendappendappendnullWriterwritewritewritewrite

Field Detail

bufback to summary
private final ByteArrayOutputStream buf
encback to summary
private final OutputStreamWriter enc

Constructor Detail

MessageWriterback to summary
public MessageWriter()

Create an empty writer.

Method Detail

closeback to summary
public void close() throws IOException

Implements abstract java.io.Writer.close.

Implements java.io.Closeable.close.

Doc from java.io.Writer.close.

Closes the stream, flushing it first. Once the stream has been closed, further write() or flush() invocations will cause an IOException to be thrown. Closing a previously closed stream has no effect.

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs
flushback to summary
public void flush() throws IOException

Implements abstract java.io.Writer.flush.

Implements java.io.Flushable.flush.

Doc from java.io.Writer.flush.

Flushes 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.

If the intended destination of this stream is an abstraction provided by the underlying operating system, for example a file, then flushing the stream guarantees only that bytes previously written to the stream are passed to the operating system for writing; it does not guarantee that they are actually written to a physical device such as a disk drive.

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs
getRawStreamback to summary
public OutputStream getRawStream()

Get the underlying byte stream that character writes to this writer drop into.

Returns:OutputStream

the underlying byte stream that character writes to this writer drop into. Writes to this stream should should be in UTF-8.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

string version of all buffered data.

Annotations
@Override
writeback to summary
public void write(char[] cbuf, int off, int len) throws IOException

Implements abstract java.io.Writer.write.

Doc from java.io.Writer.write.

Writes a portion of an array of characters.

Parameters
cbuf:char[]

Array of characters

off:int

Offset from which to start writing characters

len:int

Number of characters to write

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs