Class CaptureStreamHandler

  • All Implemented Interfaces:
    org.apache.tools.ant.taskdefs.ExecuteStreamHandler

    public class CaptureStreamHandler
    extends java.lang.Object
    implements org.apache.tools.ant.taskdefs.ExecuteStreamHandler
    Implements ExecuteStreamHandler to capture the output of a Execute to an array of strings
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.io.InputStream errorStream  
      private java.io.InputStream fromProcess  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String[] getOutput()  
      static java.lang.String[] run​(java.lang.String[] cmdline)
      Runs an executable and captures the output in a String array
      void setProcessErrorStream​(java.io.InputStream is)
      Install a handler for the error stream of the subprocess.
      void setProcessInputStream​(java.io.OutputStream os)
      Install a handler for the input stream of the subprocess.
      void setProcessOutputStream​(java.io.InputStream is)
      Install a handler for the output stream of the subprocess.
      void start()
      Start handling of the streams.
      void stop()
      Stop handling of the streams - will not be restarted.
      • Methods inherited from class java.lang.Object

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

      • errorStream

        private java.io.InputStream errorStream
      • fromProcess

        private java.io.InputStream fromProcess
    • Constructor Detail

      • CaptureStreamHandler

        public CaptureStreamHandler()
    • Method Detail

      • run

        public static java.lang.String[] run​(java.lang.String[] cmdline)
        Runs an executable and captures the output in a String array
        Parameters:
        cmdline - command line arguments
        Returns:
        output of process
      • getOutput

        public java.lang.String[] getOutput()
      • setProcessErrorStream

        public void setProcessErrorStream​(java.io.InputStream is)
                                   throws java.io.IOException
        Install a handler for the error stream of the subprocess.
        Specified by:
        setProcessErrorStream in interface org.apache.tools.ant.taskdefs.ExecuteStreamHandler
        Parameters:
        is - input stream to read from the error stream from the subprocess
        Throws:
        java.io.IOException
      • setProcessInputStream

        public void setProcessInputStream​(java.io.OutputStream os)
                                   throws java.io.IOException
        Install a handler for the input stream of the subprocess.
        Specified by:
        setProcessInputStream in interface org.apache.tools.ant.taskdefs.ExecuteStreamHandler
        Parameters:
        os - output stream to write to the standard input stream of the subprocess
        Throws:
        java.io.IOException
      • setProcessOutputStream

        public void setProcessOutputStream​(java.io.InputStream is)
                                    throws java.io.IOException
        Install a handler for the output stream of the subprocess.
        Specified by:
        setProcessOutputStream in interface org.apache.tools.ant.taskdefs.ExecuteStreamHandler
        Parameters:
        is - input stream to read from the error stream from the subprocess
        Throws:
        java.io.IOException
      • start

        public void start()
                   throws java.io.IOException
        Start handling of the streams.
        Specified by:
        start in interface org.apache.tools.ant.taskdefs.ExecuteStreamHandler
        Throws:
        java.io.IOException
      • stop

        public void stop()
        Stop handling of the streams - will not be restarted.
        Specified by:
        stop in interface org.apache.tools.ant.taskdefs.ExecuteStreamHandler