Package org.codehaus.mojo.exec
Class LineRedirectOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.codehaus.mojo.exec.LineRedirectOutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
class LineRedirectOutputStream extends java.io.OutputStream
An output stream that captures one line of output at a time, and then redirects that line to someConsumer
to act upon as it pleases. This class is not thread safe and expects to have only one active writer consuming it at any given time.- Since:
- 3.0.0
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.ByteArrayOutputStream
buffer
private java.nio.charset.Charset
charset
private java.util.function.Consumer<java.lang.String>
linePrinter
-
Constructor Summary
Constructors Constructor Description LineRedirectOutputStream(java.util.function.Consumer<java.lang.String> linePrinter)
LineRedirectOutputStream(java.util.function.Consumer<java.lang.String> linePrinter, java.nio.charset.Charset charset)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
flush()
private void
printAndReset()
void
write(int b)
-
-
-
Method Detail
-
write
public void write(int b)
- Specified by:
write
in classjava.io.OutputStream
-
flush
public void flush()
- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.OutputStream
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.OutputStream
-
printAndReset
private void printAndReset()
-
-