Package org.apache.tools.ant.util
Class LineOrientedOutputStream
java.lang.Object
java.io.OutputStream
org.apache.tools.ant.util.LineOrientedOutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
- Direct Known Subclasses:
LineOrientedOutputStreamRedirector
,LogOutputStream
Invokes
processLine
whenever a full line has
been written to this stream.
Tries to be smart about line separators.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Writes all remainingvoid
flush()
Flush this log streamprotected void
Converts the buffer to a byte[] and sends it toprocessLine
protected void
processLine
(byte[] line) Processes a line.protected abstract void
processLine
(String line) Processes a line.final void
write
(byte[] b, int off, int len) Write a block of characters to the output streamfinal void
write
(int cc) Write the data to the buffer and flush the buffer, if a line separator is detected.Methods inherited from class java.io.OutputStream
nullOutputStream, write
-
Constructor Details
-
LineOrientedOutputStream
public LineOrientedOutputStream()
-
-
Method Details
-
write
Write the data to the buffer and flush the buffer, if a line separator is detected.- Specified by:
write
in classOutputStream
- Parameters:
cc
- data to log (byte).- Throws:
IOException
- if there is an error.
-
flush
Flush this log stream- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classOutputStream
- Throws:
IOException
- if there is an error.
-
processBuffer
Converts the buffer to a byte[] and sends it toprocessLine
- Throws:
IOException
- if there is an error.
-
processLine
Processes a line.- Parameters:
line
- the line to log.- Throws:
IOException
- if there is an error.
-
processLine
Processes a line.This implementations invokes the string-arg version converting the byte array using the default encoding. Subclasses are encouraged to override this method (and provide a dummy implementation of the String-arg version) so they don't interfere with the encoding of the underlying stream.
- Parameters:
line
- the line to log.- Throws:
IOException
- if there is an error.- Since:
- Ant 1.8.3
-
close
Writes all remaining- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classOutputStream
- Throws:
IOException
- if there is an error.
-
write
Write a block of characters to the output stream- Overrides:
write
in classOutputStream
- Parameters:
b
- the array containing the dataoff
- the offset into the array where data startslen
- the length of block- Throws:
IOException
- if the data cannot be written into the stream.
-