Package org.jcsp.plugNplay

# Class Sign

java.lang.Object
org.jcsp.plugNplay.Sign

All Implemented Interfaces:
  `CSProcess`

public final class Sign extends Object implements CSProcess
Converts each input `Object` to a `String`, prefixing it with a user-defined `sign`.

## Process Diagram

## Description

`Sign` converts each input `Object` to a `String`, prefixing it with a user-defined `sign`.

## Channel Protocols

Input Channels
in | java.lang.Object | The Channel accepts any class of data.
Output Channels
out | java.lang.String | The output will always be of type String.

## Example

The following example shows how to use `Sign` in a small program.

     import org.jcsp.lang.*;
     import org.jcsp.plugNplay.*;

     public class SignExample {

       public static void main (String[] argv) {

         final One2OneChannel[] a = Channel.one2oneArray (3);
         final One2OneChannel[] b = Channel.one2oneArray (3);
         final One2OneChannel c = Channel.one2one ();

         new Parallel (
           new CSProcess[] {
             new Numbers (a[0].out ()),
             new Fibonacci (a[1].out ()),
             new Squares (a[2].out ()),
             new Sign ("Numbers ", a[0].in (), b[0].out ()),
             new Sign ("            Fibonacci ", a[1].in (), b[1].out ()),
             new Sign ("                          Squares ", a[2].in (), b[2].out ()),
             new Plex (Channel.getInputArray (b), c.out ()),
             new Printer (c.in (), "", "\n")
           }
         ).run ();

       }

     }

Author:
  P.H. Welch and P.D. Austin
See Also:
  - `SignInt`

## Constructor Summary

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

### Sign

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

Parameters:
  `sign` - the user-defined signature to attach to each item.
  `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`