Class PrefixInt

  • All Implemented Interfaces:
    CSProcess

    public final class PrefixInt
    extends java.lang.Object
    implements CSProcess
    Prefixes a user-supplied integer to the int stream flowing through.

    Process Diagram

    Description

    This is a process which first outputs a given integer and then copies its input stream of integers 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 int All channels in this package carry integers.
    Output Channels
    out int All channels in this package carry integers.

    Implementation Note

    The implementation uses an IdentityInt process for the copy loop:
       public void run () {
         out.write (n);                        // prefix the given integer to the stream
         new IdentityInt (in, out).run ();     // copy the stream
       }
     
    Author:
    P.H. Welch and P.D. Austin
    • Constructor Summary

      Constructors 
      Constructor Description
      PrefixInt​(int n, ChannelInputInt in, ChannelOutputInt out)
      Construct a new PrefixInt process with the input Channel in and the output Channel out.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      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 Detail

      • PrefixInt

        public PrefixInt​(int n,
                         ChannelInputInt in,
                         ChannelOutputInt out)
        Construct a new PrefixInt process with the input Channel in and the output Channel out.
        Parameters:
        n - the initial int 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