CSP for Java
(JCSP) 1.1-rc4

org.jcsp.plugNplay
Class Tail

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

public final class Tail
extends Object
implements CSProcess

The output stream is the tail of its input stream.

Process Diagram

Description

The first Object (i.e. head) of its input stream is not forwarded. The rest (i.e. tail) is copied through unchanged.

Two inputs are needed before any output is produced 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 will send data of the same type as that sent down the in Channel.

Implementation Note

The implementation uses an Identity process for the copy loop:
   public void run () {
     in.read ();                        // accept, but discard, the first item
     new Identity (in, out).run ();     // copy the rest of the stream
   }
 

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

Constructor Summary
Tail(ChannelInput in, ChannelOutput out)
          Construct a new Tail 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

Tail

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

Parameters:
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.