Class Prefix

  • All Implemented Interfaces:
    CSProcess

    public final class Prefix
    extends java.lang.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
       }
     
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private ChannelInput in
      The input Channel
      private java.lang.Object o
      The initial Object to be sent down the Channel.
      private ChannelOutput out
      The output Channel
    • Constructor Summary

      Constructors 
      Constructor Description
      Prefix​(java.lang.Object o, ChannelInput in, ChannelOutput out)
      Construct a new Prefix 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
    • Field Detail

      • o

        private java.lang.Object o
        The initial Object to be sent down the Channel.
    • Constructor Detail

      • Prefix

        public Prefix​(java.lang.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