org.jacorb.imr
Class ServerTable

java.lang.Object
  extended byorg.jacorb.imr.ServerTable
All Implemented Interfaces:
java.io.Serializable

public class ServerTable
extends java.lang.Object
implements java.io.Serializable

This class represents the server table of the implementation repository. It contains all servers, POAs and hosts, and is serialized on shutdown, deserialized on startup.
It provides methods for adding, deleting and listing servers, POAs and hosts.

Author:
Nicolas Noffke $Id: ServerTable.java,v 1.8 2003/12/16 08:41:27 gerald Exp $
See Also:
Serialized Form

Field Summary
 RessourceLock table_lock
           
 
Constructor Summary
ServerTable()
           
 
Method Summary
 ImRHostInfo getHost(java.lang.String name)
          Get the ImRHostInfo object of a host.
 HostInfo[] getHosts()
          List all hosts in the table.
 ImRPOAInfo getPOA(java.lang.String name)
          Get the ImRPOAInfo object of a POA.
 POAInfo[] getPOAs()
          List all POAs in the table.
 ImRServerInfo getServer(java.lang.String name)
          This method gets a server for a specified name.
 ServerInfo[] getServers()
          List all servers in the table.
 boolean hasServer(java.lang.String name)
          This method tests, if a server is known.
 void putHost(java.lang.String name, ImRHostInfo host)
          Add a host to the table.
 void putPOA(java.lang.String name, ImRPOAInfo poa)
          Add a POA to the server table.
 void putServer(java.lang.String name, ImRServerInfo server)
          Adds a server to the server table.
 java.lang.Object removeHost(java.lang.String name)
          Remove a host from the table.
 void removePOA(java.lang.String name)
          Remove a POA from the server table.
 void removeServer(java.lang.String name)
          Remove a server from the server table.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

table_lock

public transient RessourceLock table_lock
Constructor Detail

ServerTable

public ServerTable()
Method Detail

hasServer

public boolean hasServer(java.lang.String name)
This method tests, if a server is known.

Parameters:
name - the servers name.
Returns:
true, if a server with the specified name has already been registered.

getServer

public ImRServerInfo getServer(java.lang.String name)
                        throws UnknownServerName
This method gets a server for a specified name.

Parameters:
name - the servers name.
Returns:
ImRServerInfo the ImRServerInfo object with name name.
Throws:
UnknownServerName - thrown if the table does not contain an entry for name.

putServer

public void putServer(java.lang.String name,
                      ImRServerInfo server)
               throws DuplicateServerName
Adds a server to the server table.

Parameters:
name - the servers name.
server - the servers corresponding ImRServerInfo object.
Throws:
DuplicateServerName - thrown if name is already in the table.

removeServer

public void removeServer(java.lang.String name)
                  throws UnknownServerName
Remove a server from the server table.

Parameters:
name - the servers name.
Throws:
UnknownServerName - thrown if no server with name is found in the table.

getPOA

public ImRPOAInfo getPOA(java.lang.String name)
Get the ImRPOAInfo object of a POA.

Parameters:
name - the POAs name.
Returns:
the ImRPOAInfo object for name, null if name not in the table.

putPOA

public void putPOA(java.lang.String name,
                   ImRPOAInfo poa)
Add a POA to the server table.

Parameters:
name - the POAs name.
poa - the POAs ImRPOAInfo object.

removePOA

public void removePOA(java.lang.String name)
Remove a POA from the server table.

Parameters:
name - the POAs name.

getServers

public ServerInfo[] getServers()
List all servers in the table.

Returns:
a ServerInfo array containing all servers. Used by the CORBA interface of the repository.

getHosts

public HostInfo[] getHosts()
List all hosts in the table.

Returns:
a HostInfo array containing all hosts. Used by the CORBA interface of the repository.

getPOAs

public POAInfo[] getPOAs()
List all POAs in the table.

Returns:
a POAInfo array containing all POAs. Used by the CORBA interface of the repository.

putHost

public void putHost(java.lang.String name,
                    ImRHostInfo host)
Add a host to the table. If an entry for name is already in the table it is overwritten.

Parameters:
name - the hosts name.
host - the hosts ImRHostInfo object.

removeHost

public java.lang.Object removeHost(java.lang.String name)
Remove a host from the table.

Parameters:
name - the hosts name.

getHost

public ImRHostInfo getHost(java.lang.String name)
Get the ImRHostInfo object of a host.

Parameters:
name - the hosts name.
Returns:
the ImRHostInfo object for name, null if name not in the table.