Package org.jcsp.plugNplay

# Class Integrate

java.lang.Object
org.jcsp.plugNplay.Integrate

All Implemented Interfaces:
  `CSProcess`

public class Integrate extends Object implements CSProcess
This is a running-sum integrator of the `Integers` on its input stream to its output stream.

## Process Diagram

### External View

             ___________
         in |           | out
        -->-| Integrate |-->---
            |___________|

### Internal View

             ___________________________________________
            |  _______                   ________       |
         in | |       |                 |        |      | out
        -->---| Plus  |------->---------| Delta2 |--------->---
            | |_______|                 |________|      |
            |     |                        |            |
            |     |      ____________      |            |
            |     |     |            |     |            |
            |     +--invalid input: '<'--| Prefix (0) |--invalid input: '<'--+            |
            |           |____________|                  |
            |                                 Integrate |
            |___________________________________________|

## Description

The Integrate class is a process which outputs running totals of the Numbers sent down the in Channel.

## Channel Protocols

Input Channels
in | java.lang.Number | The Channel can accept data from any subclass of Number. All values will be converted to ints.
Output Channels
out | java.lang.Integer | The output will always be of type Integer.

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

## Constructor Summary

Constructors
Constructor
Description
`Integrate(ChannelInput in, ChannelOutput out)`
Construct a new Integrate 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

### Integrate

public Integrate(ChannelInput in, ChannelOutput out)
Construct a new Integrate 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`