Class LeadPipeInputStream

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

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

    Fields inherited from class java.io.PipedInputStream

    buffer, in, out, PIPE_SIZE
  • Constructor Summary

    Constructors 
    Constructor Description
    LeadPipeInputStream()
    Construct a new LeadPipeInputStream.
    LeadPipeInputStream​(int size)
    Construct a new LeadPipeInputStream with the specified buffer size.
    LeadPipeInputStream​(java.io.PipedOutputStream src)
    Construct a new LeadPipeInputStream to pull from the specified PipedOutputStream.
    LeadPipeInputStream​(java.io.PipedOutputStream src, int size)
    Construct a new LeadPipeInputStream to pull from the specified PipedOutputStream, using a circular buffer of the specified size.
  • Method Summary

    Modifier and Type Method Description
    void log​(java.lang.String message, int loglevel)
    Log a message with the specified logging level.
    int read()
    Read a byte from the stream.
    void setBufferSize​(int size)
    Set the size of the buffer.
    void setManagingComponent​(ProjectComponent pc)
    Set a managing ProjectComponent for this LeadPipeInputStream.
    void setManagingTask​(Task task)
    Set a managing Task for this LeadPipeInputStream.

    Methods inherited from class java.io.PipedInputStream

    available, close, connect, read, receive

    Methods inherited from class java.io.InputStream

    mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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​(java.io.PipedOutputStream src) throws java.io.IOException
      Construct a new LeadPipeInputStream to pull from the specified PipedOutputStream.
      Parameters:
      src - the PipedOutputStream source.
      Throws:
      java.io.IOException - if unable to construct the stream.
    • LeadPipeInputStream

      public LeadPipeInputStream​(java.io.PipedOutputStream src, int size) throws java.io.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:
      java.io.IOException - if there is an error.
  • Method Details

    • read

      public int read() throws java.io.IOException
      Read a byte from the stream.
      Overrides:
      read in class java.io.PipedInputStream
      Returns:
      the byte (0 to 255) or -1 if there are no more.
      Throws:
      java.io.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​(java.lang.String message, int loglevel)
      Log a message with the specified logging level.
      Parameters:
      message - the String message.
      loglevel - the int logging level.