Class LeadPipeInputStream

java.lang.Object
java.io.InputStream
java.io.PipedInputStream
org.apache.tools.ant.util.LeadPipeInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

public class LeadPipeInputStream extends PipedInputStream
Special PipedInputStream that will not die when the writing Thread is no longer alive.
Since:
Ant 1.6.2
  • Constructor Details

    • LeadPipeInputStream

      public LeadPipeInputStream()
      Construct a new LeadPipeInputStream.
    • LeadPipeInputStream

      public LeadPipeInputStream(int size)
      Construct a new LeadPipeInputStream with the specified buffer size.
      Parameters:
      size - the size of the circular buffer.
    • LeadPipeInputStream

      public LeadPipeInputStream(PipedOutputStream src) throws IOException
      Construct a new LeadPipeInputStream to pull from the specified PipedOutputStream.
      Parameters:
      src - the PipedOutputStream source.
      Throws:
      IOException - if unable to construct the stream.
    • LeadPipeInputStream

      public LeadPipeInputStream(PipedOutputStream src, int size) throws IOException
      Construct a new LeadPipeInputStream to pull from the specified PipedOutputStream, using a circular buffer of the specified size.
      Parameters:
      src - the PipedOutputStream source.
      size - the size of the circular buffer.
      Throws:
      IOException - if there is an error.
  • Method Details

    • read

      public int read() throws IOException
      Read a byte from the stream.
      Overrides:
      read in class PipedInputStream
      Returns:
      the byte (0 to 255) or -1 if there are no more.
      Throws:
      IOException - if there is an error.
    • setBufferSize

      public void setBufferSize(int size)
      Set the size of the buffer.
      Parameters:
      size - the new buffer size. Ignored if <= current size.
    • setManagingTask

      public void setManagingTask(Task task)
      Set a managing Task for this LeadPipeInputStream.
      Parameters:
      task - the managing Task.
    • setManagingComponent

      public void setManagingComponent(ProjectComponent pc)
      Set a managing ProjectComponent for this LeadPipeInputStream.
      Parameters:
      pc - the managing ProjectComponent.
    • log

      public void log(String message, int loglevel)
      Log a message with the specified logging level.
      Parameters:
      message - the String message.
      loglevel - the int logging level.