org.apache.tools.ant.taskdefs
Class LogOutputStream

java.lang.Object
  |
  +--java.io.OutputStream
        |
        +--org.apache.tools.ant.taskdefs.LogOutputStream

public class LogOutputStream
extends java.io.OutputStream

Logs each line written to this stream to the log system of ant. Tries to be smart about line separators.
TODO: This class can be split to implement other line based processing of data written to the stream.

Since:
Ant 1.2

Constructor Summary
LogOutputStream(ProjectComponent pc, int level)
          Creates a new instance of this class.
LogOutputStream(Task task, int level)
          Creates a new instance of this class.
 
Method Summary
 void close()
          Writes all remaining
 void flush()
          Flush this log stream
 int getMessageLevel()
           
protected  void processBuffer()
          Converts the buffer to a string and sends it to processLine
protected  void processLine(java.lang.String line)
          Logs a line to the log system of ant.
protected  void processLine(java.lang.String line, int level)
          Logs a line to the log system of ant.
 void write(byte[] b, int off, int len)
          Write a block of characters to the output stream
 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
write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LogOutputStream

public LogOutputStream(Task task,
                       int level)
Creates a new instance of this class.

Parameters:
task - the task for whom to log
level - loglevel used to log data written to this stream.

LogOutputStream

public LogOutputStream(ProjectComponent pc,
                       int level)
Creates a new instance of this class.

Parameters:
level - loglevel used to log data written to this stream.
Since:
Ant 1.6.3
Method Detail

write

public void write(int cc)
           throws java.io.IOException
Write the data to the buffer and flush the buffer, if a line separator is detected.

Specified by:
write in class java.io.OutputStream
Parameters:
cc - data to log (byte).
java.io.IOException

flush

public void flush()
Flush this log stream

Overrides:
flush in class java.io.OutputStream

processBuffer

protected void processBuffer()
Converts the buffer to a string and sends it to processLine


processLine

protected void processLine(java.lang.String line)
Logs a line to the log system of ant.

Parameters:
line - the line to log.

processLine

protected void processLine(java.lang.String line,
                           int level)
Logs a line to the log system of ant.

Parameters:
line - the line to log.

close

public void close()
           throws java.io.IOException
Writes all remaining

Overrides:
close in class java.io.OutputStream
java.io.IOException

getMessageLevel

public int getMessageLevel()

write

public void write(byte[] b,
                  int off,
                  int len)
           throws java.io.IOException
Write a block of characters to the output stream

Overrides:
write in class java.io.OutputStream
Parameters:
b - the array containing the data
off - the offset into the array where data starts
len - the length of block
Throws:
java.io.IOException - if the data cannot be written into the stream.


Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.