Package org.jcsp.plugNplay

# Class Identity

java.lang.Object
org.jcsp.plugNplay.Identity

All Implemented Interfaces:
  `CSProcess`

public final class Identity extends Object implements CSProcess
This copies its input stream to its output stream unchanged.

## Process Diagram

## Description

This is a process that simply copies its input stream to its output stream. The difference between a channel and a channel into which an `Identity` process has been spliced is that the latter has a buffering capacity of one more than the channel (which is zero, unless explicitly constructed with a buffer).

## Channel Protocols

Input Channels
in | java.lang.Object | The in Channel can accept data of any class.
Output Channels
out | java.lang.Object | The out Channel sends the the same type of data (in fact, the same data) as is input.

Author:
  P.H. Welch and P.D. Austin

## Constructor Summary

Constructors
Constructor
Description
`Identity(ChannelInput in, ChannelOutput out)`
Construct a new Identity process with the input Channel in and the output Channel out.

## Method Summary

Modifier and Type
Method
Description
`void`
`run()`
The main body of this process.

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

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

## Constructor Details

### Identity

public Identity(ChannelInput in, ChannelOutput out)
Construct a new Identity process with the input Channel in and the output Channel out.

Parameters:
  `in` - the input Channel
  `out` - the output Channel

## Method Details

### run

public void run()
The main body of this process.

Specified by:
  `run` in interface `CSProcess`