org.apache.felix.service.threadio

## Interface ThreadIO

All Known Implementing Classes:
  ThreadIOImpl

    public interface ThreadIO

Enable multiplexing of the standard IO streams for input, output, and error.

This service guards the central resource of IO streams. The standard streams are singletons. This service replaces the singletons with special versions that can find a unique stream for each thread. If no stream is associated with a thread, it will use the standard input/output that was originally set.

Author:
  aqute

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `close()` Cancel the streams associated with the current thread.
`void` `setStreams(InputStream in, PrintStream out, PrintStream err)` Associate this streams with the current thread.

### Method Detail

#### setStreams

    void setStreams(InputStream in,
                    PrintStream out,
                    PrintStream err)

Associate this streams with the current thread.

Ensure that when output is performed on System.in, System.out, System.err it will happen on the given streams.

The streams will automatically be canceled when the bundle that has gotten this service is stopped or returns this service.

Parameters:
  `in` - InputStream to use for the current thread when System.in is used
  `out` - PrintStream to use for the current thread when System.out is used
  `err` - PrintStream to use for the current thread when System.err is used

#### close

    void close()

Cancel the streams associated with the current thread.

This method will not do anything when no streams are associated.