org.systemsbiology.gaggle.core
Interface Boss

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
GuiBoss

public interface Boss
extends java.rmi.Remote

The core interface for the Gaggle Boss. Any software that wishes to coordinate communication between one or more Gaggled applications (geese) must implement this. Currently the Gaggle uses Java RMI for communication between Geese and the Boss. Other (non-language-dependent) options are being considered. Implementations of Boss are desgined to be compiled by rmic into stubs which can communicate across JVMs. Hence every method must throw RemoteException.


Method Summary
 void broadcastCluster(java.lang.String sourceGoose, java.lang.String targetGoose, Cluster cluster)
          Tells the boss to broadcast a Cluster object.
 void broadcastMatrix(java.lang.String sourceGoose, java.lang.String targetGoose, DataMatrix matrix)
          Tells the boss to broadcast a DataMatrix object.
 void broadcastNamelist(java.lang.String sourceGoose, java.lang.String targetGoose, Namelist nameList)
          Tells the boss to broadcast a Namelist object.
 void broadcastNetwork(java.lang.String sourceGoose, java.lang.String targetGoose, Network network)
          Tells the boss to broadcast a Network object.
 void broadcastTuple(java.lang.String sourceGoose, java.lang.String targetGoose, GaggleTuple gaggleTuple)
          Tells the boss to broadcast a GaggleTuple object.
 java.lang.String[] getGooseNames()
          Deprecated. Goose.update() will automatically provide you with the latest list of goose names.
 NewNameHelper getNameHelper()
          Deprecated. Eventually there will be a new way to handle this
 void hide(java.lang.String gooseName)
          Tells the boss to hide the specified goose.
 java.lang.String register(DeafGoose deafGoose)
          Deprecated. All code involving DeafGoose will be removed.
 java.lang.String register(Goose goose)
          Adds a new goose to the Gaggle
 java.lang.String renameGoose(java.lang.String oldName, java.lang.String newName)
           
 void show(java.lang.String gooseName)
          Tells the boss to show the specified goose.
 void terminate(java.lang.String gooseName)
          Terminates the specified goose.
 void unregister(java.lang.String gooseName)
          Called when the named goose is to be removed from the gaggle.
 

Method Detail

register

java.lang.String register(Goose goose)
                          throws java.rmi.RemoteException
Adds a new goose to the Gaggle

Parameters:
goose - The goose to be added
Returns:
The uniquified name of the new goose
Throws:
java.rmi.RemoteException - if RMI communication fails

unregister

void unregister(java.lang.String gooseName)
                throws java.rmi.RemoteException
Called when the named goose is to be removed from the gaggle.

Parameters:
gooseName - The name of the goose to remove
Throws:
java.rmi.RemoteException - if RMI communication fails

register

java.lang.String register(DeafGoose deafGoose)
                          throws java.rmi.RemoteException
Deprecated. All code involving DeafGoose will be removed.

Parameters:
deafGoose - The DeafGoose
Returns:
the uniquified name of the DeafGoose
Throws:
java.rmi.RemoteException - if RMI communication fails

broadcastNamelist

void broadcastNamelist(java.lang.String sourceGoose,
                       java.lang.String targetGoose,
                       Namelist nameList)
                       throws java.rmi.RemoteException
Tells the boss to broadcast a Namelist object.

Parameters:
sourceGoose - The name of the goose originating the broadcast
targetGoose - The name of the goose to receive the broadcast. If this is "boss", all listening geese will receive the broadcast.
nameList - The NameList object
Throws:
java.rmi.RemoteException - if RMI communication fails

broadcastMatrix

void broadcastMatrix(java.lang.String sourceGoose,
                     java.lang.String targetGoose,
                     DataMatrix matrix)
                     throws java.rmi.RemoteException
Tells the boss to broadcast a DataMatrix object.

Parameters:
sourceGoose - The name of the goose originating the broadcast
targetGoose - The name of the goose to receive the broadcast. If this is "boss", all listening geese will receive the broadcast.
matrix - The DataMatrix object
Throws:
java.rmi.RemoteException - if RMI communication fails

broadcastTuple

void broadcastTuple(java.lang.String sourceGoose,
                    java.lang.String targetGoose,
                    GaggleTuple gaggleTuple)
                    throws java.rmi.RemoteException
Tells the boss to broadcast a GaggleTuple object.

Parameters:
sourceGoose - The name of the goose originating the broadcast
targetGoose - The name of the goose to receive the broadcast. If this is "boss", all listening geese will receive the broadcast.
gaggleTuple - the GaggleTuple object
Throws:
java.rmi.RemoteException - if RMI communication fails

broadcastCluster

void broadcastCluster(java.lang.String sourceGoose,
                      java.lang.String targetGoose,
                      Cluster cluster)
                      throws java.rmi.RemoteException
Tells the boss to broadcast a Cluster object.

Parameters:
sourceGoose - The name of the goose originating the broadcast
targetGoose - The name of the goose to receive the broadcast. If this is "boss", all listening geese will receive the broadcast.
cluster - the Cluster object
Throws:
java.rmi.RemoteException - if RMI communication fails

broadcastNetwork

void broadcastNetwork(java.lang.String sourceGoose,
                      java.lang.String targetGoose,
                      Network network)
                      throws java.rmi.RemoteException
Tells the boss to broadcast a Network object.

Parameters:
sourceGoose - The name of the goose originating the broadcast
targetGoose - The name of the goose to receive the broadcast. If this is "boss", all listening geese will receive the broadcast.
network - the Network object
Throws:
java.rmi.RemoteException - if RMI communication fails

hide

void hide(java.lang.String gooseName)
          throws java.rmi.RemoteException
Tells the boss to hide the specified goose.

Parameters:
gooseName - The name of the goose to hide
Throws:
java.rmi.RemoteException - if RMI communication fails

show

void show(java.lang.String gooseName)
          throws java.rmi.RemoteException
Tells the boss to show the specified goose.

Parameters:
gooseName - The name of the goose to show
Throws:
java.rmi.RemoteException - if RMI communication fails

getGooseNames

java.lang.String[] getGooseNames()
                                 throws java.rmi.RemoteException
Deprecated. Goose.update() will automatically provide you with the latest list of goose names.

Returns:
list of currently connected geese names
Throws:
java.rmi.RemoteException - if there is an RMI connection error

renameGoose

java.lang.String renameGoose(java.lang.String oldName,
                             java.lang.String newName)
                             throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException

getNameHelper

NewNameHelper getNameHelper()
                            throws java.rmi.RemoteException
Deprecated. Eventually there will be a new way to handle this

Returns:
a NewNameHelper object
Throws:
java.rmi.RemoteException - if RMI communication fails

terminate

void terminate(java.lang.String gooseName)
               throws java.rmi.RemoteException
Terminates the specified goose.

Parameters:
gooseName - The name of the goose to terminate
Throws:
java.rmi.RemoteException - if RMI communication fails