org.apache.tools.ant.util

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 and 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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and 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, read, reset, skip
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • 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 Detail

      • 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.