Package org.codehaus.groovy.tools.shell

# Class IO

java.lang.Object
org.codehaus.groovy.tools.shell.IO

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

    public class IO
    extends Object
    implements Closeable

Container for input/output handles.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Class | Description
  --- | --- | ---
  `static class` | `IO.Verbosity` | Verbosity for simple logging: QUIET, INFO, VERBOSE, DEBUG

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `boolean` | `ansiSupported` | Whether ansi support is available
  `PrintWriter` | `err` | Preferred error output writer.
  `OutputStream` | `errorStream` | Raw error output stream.
  `Reader` | `in` | Preferred input reader.
  `InputStream` | `inputStream` | Raw input stream.
  `PrintWriter` | `out` | Preferred output writer.
  `OutputStream` | `outputStream` | Raw output stream.

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `IO()` | Construct a new IO container using system streams.
  `IO​(InputStream inputStream, OutputStream outputStream, OutputStream errorStream)` | Construct a new IO container.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `close()` | Close all streams.
  `void` | `flush()` | Flush both output streams.
  `IO.Verbosity` | `getVerbosity()` | Returns the verbosity level.
  `boolean` | `isDebug()` | Check if the verbosity level is set to `IO.Verbosity.DEBUG`.
  `boolean` | `isInfo()` | Check if the verbosity level is set to `IO.Verbosity.INFO`.
  `boolean` | `isQuiet()` | Check if the verbosity level is set to `IO.Verbosity.QUIET`.
  `boolean` | `isVerbose()` | Check if the verbosity level is set to `IO.Verbosity.VERBOSE`.
  `void` | `setVerbosity​(IO.Verbosity verbosity)` | Set the verbosity level.
  `protected PrintWriter` | `tryConstructRenderWriter​(OutputStream stream)` |

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

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

- ## Field Details

  - ### inputStream

    public final InputStream inputStream
    Raw input stream.

  - ### outputStream

    public final OutputStream outputStream
    Raw output stream.

  - ### errorStream

    public final OutputStream errorStream
    Raw error output stream.

  - ### in

    public final Reader in
    Preferred input reader.

  - ### out

    public final PrintWriter out
    Preferred output writer.

  - ### err

    public final PrintWriter err
    Preferred error output writer.

  - ### ansiSupported

    public final boolean ansiSupported
    Whether ansi support is available

- ## Constructor Details

  - ### IO

    public IO​(InputStream inputStream, OutputStream outputStream, OutputStream errorStream)
    Construct a new IO container.

  - ### IO

    public IO()
    Construct a new IO container using system streams.

- ## Method Details

  - ### tryConstructRenderWriter

    protected PrintWriter tryConstructRenderWriter​(OutputStream stream)

  - ### setVerbosity

    public void setVerbosity​(IO.Verbosity verbosity)
    Set the verbosity level.

  - ### getVerbosity

    public IO.Verbosity getVerbosity()
    Returns the verbosity level.

  - ### isQuiet

    public boolean isQuiet()
    Check if the verbosity level is set to `IO.Verbosity.QUIET`.

  - ### isInfo

    public boolean isInfo()
    Check if the verbosity level is set to `IO.Verbosity.INFO`.

  - ### isVerbose

    public boolean isVerbose()
    Check if the verbosity level is set to `IO.Verbosity.VERBOSE`.

  - ### isDebug

    public boolean isDebug()
    Check if the verbosity level is set to `IO.Verbosity.DEBUG`.

    For general usage, when debug output is required, it is better to use the logging facility instead.

  - ### flush

    public void flush()
    Flush both output streams.

  - ### close

    public void close() throws IOException
    Close all streams.
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Throws:
      `IOException`