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:
  `Closeable`, `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(InputStream in, int... key)`

## Method Summary

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, skipNBytes, transferTo`

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

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

## Constructor Details

### XORInputStream

public XORInputStream(InputStream in, int... key)

## Method Details

### getKey

public int[] getKey()

### read

public int read() throws 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:
  `IOException` - if an I/O error occurs.
See Also:
  - `DelegatingInputStream.in`