Package org.jcsp.plugNplay

# Class Numbers

java.lang.Object
org.jcsp.plugNplay.Numbers

All Implemented Interfaces:
  `CSProcess`

public class Numbers extends Object implements CSProcess
Plugs together a network of low-level stateless components to generate the sequence of natural numbers.

## Process Diagram

### External View

             ___________
            |           | out
            |  Numbers  |-->----
            |___________|

### Internal View

             ___________________________________________
            |  ____________             ________        |
            | |            |           |        |       | out
            | | Prefix (0) |----->-----| Delta2 |---------->--
            | |____________|           |________|       |
            |     |                        |            |
            |     |       ___________      |            |
            |     |      |           |     |            |
            |     +---invalid input: '<'--| Successor |--invalid input: '<'--+            |
            |            |___________|                  |
            |                                   Numbers |
            |___________________________________________|

## Description

The `Numbers` process generates the sequence of Natural Numbers.

## Channel Protocols

Input Channels
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
`Numbers(ChannelOutput out)`
Construct a new Numbers process with 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

### Numbers

public Numbers(ChannelOutput out)
Construct a new Numbers process with the output Channel out.

Parameters:
  `out` - the output channel

## Method Details

### run

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

Specified by:
  `run` in interface `CSProcess`