Package org.eclipse.net4j.util.io

## Class XORInputStream

- java.lang.Object
- - java.io.InputStream
  - - org.eclipse.net4j.util.io.DelegatingInputStream
    - - org.eclipse.net4j.util.io.XORInputStream

- All Implemented Interfaces:
    `java.io.Closeable`, `java.lang.AutoCloseable`

      public class XORInputStream
      extends DelegatingInputStream

  Author:
    Eike Stepper

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.net4j.util.io.DelegatingInputStream

      `in`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `XORInputStream​(java.io.InputStream in, int... key)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int[]` | `getKey()` |
    `int` | `read()` | Reads the next byte of data from this input stream.

    - ### Methods inherited from class org.eclipse.net4j.util.io.DelegatingInputStream

      `available, close, getDelegate, mark, markSupported, reset, skip`

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

      `nullInputStream, read, read, readAllBytes, readNBytes, readNBytes, transferTo`

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

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

- - ### Constructor Detail

    - #### XORInputStream

          public XORInputStream​(java.io.InputStream in,
                                int... key)

  - ### Method Detail

    - #### getKey

          public int[] getKey()

    - #### read

          public int read()
                   throws java.io.IOException

      Description copied from class: `DelegatingInputStream`
      Reads the next byte of data from this input stream. The value byte is returned as an `int` in the range `0` to `255`. If no byte is available because the end of the stream has been reached, the value `-1` is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

      This method simply performs `in.read()` and returns the result.

      Overrides:
        `read` in class `DelegatingInputStream`
      Returns:
        the next byte of data, or `-1` if the end of the stream is reached.
      Throws:
        `java.io.IOException` - if an I/O error occurs.
      See Also:
        `DelegatingInputStream.in`