Construct a FormatOutput instance, tying the provided stream to a layout formatter.
Sink for passing to the formatter.
Control implicit flushing of newline(), where true enables flushing. An explicit flush() will always flush the output.
Format the provided arguments to the stream according to the format string
Format the provided arguments to the stream according to the format string, and append a newline to the output.
Output a newline and optionally flush.
Return the associated output stream.
Set the associated output stream.
Return the hosting conduit.
Write to conduit from a source array. The provided src content will be written to the conduit.
Transfer the content of another conduit to this one. Returns a reference to this class, or throws IOException on failure.
Emit/purge buffered content.
Seek on this stream. Target conduits that don't support seeking will throw an IOException.
Return the upstream host of this filter.
Close the output.
A bridge between a Layout instance and a stream. This is used for the Stdout & Stderr globals, but can be used for general purpose buffer-formatting as desired.
FormatOutput exposes this style of usage:
Note that the last example does not throw an exception. There are several use-cases where dropping an argument is legitimate, so we're currently not enforcing any particular trap mechanism.
Flushing the output is achieved through the flush() method:
Special character sequences, such as "\n", are written directly to the output without any translation (though an output-filter could be inserted to perform translation as required). Platform-specific newlines are generated instead via the newline() method, which also flushes the output when configured to do so:
Note that FormatOutput is *not* intended to be thread-safe.