mChaRM.mChaRMCollection
Class verboseChannel

java.lang.Object
  |
  +--uka.karmi.rmi.server.RemoteObject
        |
        +--uka.karmi.rmi.server.UnicastRemoteObject
              |
              +--mChaRM.multichannel.channelCore
                    |
                    +--mChaRM.mChaRMCollection.verboseChannel
All Implemented Interfaces:
channelInterface, java.lang.Cloneable, uka.karmi.rmi.Remote

public class verboseChannel
extends channelCore
implements channelInterface

realizes a multi-channel of kind verbose. Its meta-behavior consists in printing messages stressing the flow of trapped calls through the multi-channel components. It uses instances of verboseSenderStub class as senderStubs, and instances of verboseReceiverStub as receiverStubs

Since:
Version 1.0
Version:
1.1
Author:
Walter Cazzola (cazzola@disi.unige.it)

Fields inherited from class uka.karmi.rmi.server.RemoteObject
serverRef
 
Constructor Summary
verboseChannel(java.lang.String[] RsName)
          constructor of multi-channels of kind verbose.
verboseChannel(java.lang.String kind, java.lang.String[] RsName, java.lang.String SSClassName, java.lang.String RSClassName)
           
 
Method Summary
 java.lang.Object coreMetaBehavior(mChaRMMethodCall msg)
          This method embodies the reflective behaviour realized by the multi-channel.
 
Methods inherited from class mChaRM.multichannel.channelCore
howManyReceivers, howManySenders, kind, receiverName, receiverStub, receiverStubByPosition, receiverStubClassName, retrieveReceiverFieldValue, retrieveSenderFieldValue, senderName, senderStub, senderStubByPosition, senderStubClassName, senderStubHasBeenCreated, setKind, setReceiverName, setReceiverStub, setReceiverStubClassName, setRsName, setSenderName, setSenderStub, setSenderStubClassName, supplyASenderStub
 
Methods inherited from class uka.karmi.rmi.server.UnicastRemoteObject
buildStub, clone, exportObject, exportObject, unexportObject
 
Methods inherited from class uka.karmi.rmi.server.RemoteObject
equals, hashCode, toString, toStub
 
Methods inherited from class java.lang.Object
, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface mChaRM.multichannel.channelInterface
senderStubHasBeenCreated, supplyASenderStub
 

Constructor Detail

verboseChannel

public verboseChannel(java.lang.String[] RsName)
               throws uka.karmi.rmi.RemoteException,
                      ReceiverStubNotFoundException
constructor of multi-channels of kind verbose.
It calls the channelCore constructor with kind verbose and as classes for sender and receiver stubs their verbose version.
Parameters:
RsName - an Array of Strings representing the name of the receivers, which it is connected to.
Throws:
ReceiverStubNotFoundException - thrown when one of the specified receiver wasn't started before the core.

verboseChannel

public verboseChannel(java.lang.String kind,
                      java.lang.String[] RsName,
                      java.lang.String SSClassName,
                      java.lang.String RSClassName)
               throws uka.karmi.rmi.RemoteException,
                      ReceiverStubNotFoundException
Method Detail

coreMetaBehavior

public java.lang.Object coreMetaBehavior(mChaRMMethodCall msg)
                                  throws MethodDoesNotExistException,
                                         uka.karmi.rmi.RemoteException
This method embodies the reflective behaviour realized by the multi-channel.
Its behavior consists in printing information about the call trapped and then applies the # coreMetaBehavior of its ancestor.
Specified by:
coreMetaBehavior in interface channelInterface
Overrides:
coreMetaBehavior in class channelCore
Parameters:
RsName - the name of the receivers who the message have to be delivered to.
methodName - the name of the method whose execution is requested.
args - the actual arguments of the call.
Returns:
the result of the method call.
Throws:
MethodDoesNotExistException - thrown when the method reified doesn't exist in the referent class.