CSP for Java
(JCSP) 1.1-rc4

org.jcsp.plugNplay
Class Prefix

java.lang.Object
  extended by org.jcsp.plugNplay.Prefix
All Implemented Interfaces:
CSProcess

public final class Prefix
extends Object
implements CSProcess

Prefixes a user-supplied object to the Object stream flowing through.

Process Diagram

Description

This is a process which first outputs a given Object and then copies its input stream of Objects to its output stream.

One output is gererated before any input but, thereafter, one output is produced for each input.

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.

Implementation Note

The implementation uses an Identity process for the copy loop:
   public void run () {
     out.write (o);                     // prefix the given object to the stream
     new Identity (in, out).run ();     // copy the stream
   }
 

Author:
P.H. Welch

Constructor Summary
Prefix(Object o, ChannelInput in, ChannelOutput out)
          Construct a new Prefix process with the input Channel in and the output Channel out.
 
Method Summary
 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 Detail

Prefix

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

Parameters:
o - the initial Object to be sent down the Channel.
in - the input Channel
out - the output Channel
Method Detail

run

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

Specified by:
run in interface CSProcess

CSP for Java
(JCSP) 1.1-rc4

Submit a bug or feature to jcsp-team@kent.ac.uk
Version 1.1-rc4 of the JCSP API Specification (Copyright 1997-2008 P.D.Austin and P.H.Welch - All Rights Reserved)
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.