Module org.wildfly.plugin.core
Package org.wildfly.plugin.core

## Class ConsoleConsumer

- java.lang.Object
- - org.wildfly.plugin.core.ConsoleConsumer

- All Implemented Interfaces:
    `Runnable`

      public class ConsoleConsumer
      extends Object
      implements Runnable

  A utility which will consume output from an `InputStream` and write it to an `OutputStream`. This is commonly used when a processes `stdout` or `stderr` needs to be consumed and redirected somewhere.
  Author:
    James R. Perkins

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ConsoleConsumer​(InputStream in, OutputStream out)` | Creates a new console consumer which will pipe the `InputStream` to the `OutputStream`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `run()` |
    `static Thread` | `start​(InputStream in, OutputStream out)` | Creates and starts a daemon thread which pipes int `InputStream` to the `OutputStream`.
    `static Thread` | `start​(Process process, OutputStream out)` | Creates and starts a daemon thread which consumes a processes `stdout` stream and pipes the date to the output stream.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ConsoleConsumer

          public ConsoleConsumer​(InputStream in,
                                 OutputStream out)

      Creates a new console consumer which will pipe the `InputStream` to the `OutputStream`.
      Parameters:
        `in` - the input stream that should be pipped
        `out` - the output stream where the data should be written

  - ### Method Detail

    - #### start

          public static Thread start​(Process process,
                                     OutputStream out)

      Creates and starts a daemon thread which consumes a processes `stdout` stream and pipes the date to the output stream.

      Note that when using this method the `ProcessBuilder.redirectErrorStream(boolean)` should likely be `true`. Otherwise another thread should be created to consume `stderr`.

      Parameters:
        `process` - the process
        `out` - the output stream where the data should be written
      Returns:
        the thread that was started

    - #### start

          public static Thread start​(InputStream in,
                                     OutputStream out)

      Creates and starts a daemon thread which pipes int `InputStream` to the `OutputStream`.
      Parameters:
        `in` - the input stream that should be pipped
        `out` - the output stream where the data should be written
      Returns:
        the thread that was started

    - #### run

          public void run()

      Specified by:
        `run` in interface `Runnable`