com.sun.mail.util

## Class TraceInputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.FilterInputStream
    - - com.sun.mail.util.TraceInputStream

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public class TraceInputStream
      extends FilterInputStream

  This class is a FilterInputStream that writes the bytes being read from the given input stream into the given output stream. This class is typically used to provide a trace of the data that is being retrieved from an input stream.
  Author:
    John Mani

- - ### Field Summary

    - ### Fields inherited from class java.io.FilterInputStream

      `in`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TraceInputStream(InputStream in, MailLogger logger)` Creates an input stream filter built on top of the specified input stream.
    `TraceInputStream(InputStream in, OutputStream traceOut)` Creates an input stream filter built on top of the specified input stream.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `read()` Reads the next byte of data from this input stream.
    `int` | `read(byte[] b, int off, int len)` Reads up to `len` bytes of data from this input stream into an array of bytes.
    `void` | `setQuote(boolean quote)` Set quote mode.
    `void` | `setTrace(boolean trace)` Set trace mode.

    - ### Methods inherited from class java.io.FilterInputStream

      `available, close, 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

    - #### TraceInputStream

          public TraceInputStream(InputStream in,
                          MailLogger logger)

      Creates an input stream filter built on top of the specified input stream.
      Parameters:
        `in` - the underlying input stream.
        `logger` - log trace here

    - #### TraceInputStream

          public TraceInputStream(InputStream in,
                          OutputStream traceOut)

      Creates an input stream filter built on top of the specified input stream.
      Parameters:
        `in` - the underlying input stream.
        `traceOut` - the trace stream.

  - ### Method Detail

    - #### setTrace

          public void setTrace(boolean trace)

      Set trace mode.
      Parameters:
        `trace` - the trace mode

    - #### setQuote

          public void setQuote(boolean quote)

      Set quote mode.
      Parameters:
        `quote` - the quote mode

    - #### read

          public int read()
                   throws IOException

      Reads the next byte of data from this input stream. Returns `-1` if no data is available. Writes out the read byte into the trace stream, if trace mode is `true`
      Overrides:
        `read` in class `FilterInputStream`
      Throws:
        `IOException`

    - #### read

          public int read(byte[] b,
                 int off,
                 int len)
                   throws IOException

      Reads up to `len` bytes of data from this input stream into an array of bytes. Returns `-1` if no more data is available. Writes out the read bytes into the trace stream, if trace mode is `true`
      Overrides:
        `read` in class `FilterInputStream`
      Throws:
        `IOException`

Copyright © 2016 Oracle. All rights reserved.