org.jacorb.imr

Class ServerTable

Implemented Interfaces:
Serializable

public class ServerTable
extends java.lang.Object
implements 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.10 2004/05/06 12:39:59 nicolas Exp $

Field Summary

ResourceLock
table_lock

Constructor Summary

ServerTable()

Method Summary

ImRHostInfo
getHost(String name)
Get the ImRHostInfo object of a host.
HostInfo[]
getHosts()
List all hosts in the table.
ImRPOAInfo
getPOA(String name)
Get the ImRPOAInfo object of a POA.
POAInfo[]
getPOAs()
List all POAs in the table.
ImRServerInfo
getServer(String name)
This method gets a server for a specified name.
ServerInfo[]
getServers()
List all servers in the table.
boolean
hasServer(String name)
This method tests, if a server is known.
void
putHost(String name, ImRHostInfo host)
Add a host to the table.
void
putPOA(String name, ImRPOAInfo poa)
Add a POA to the server table.
void
putServer(String name, ImRServerInfo server)
Adds a server to the server table.
Object
removeHost(String name)
Remove a host from the table.
void
removePOA(String name)
Remove a POA from the server table.
void
removeServer(String name)
Remove a server from the server table.

Field Details

table_lock

public ResourceLock table_lock

Constructor Details

ServerTable

public ServerTable()

Method Details

getHost

public ImRHostInfo getHost(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.


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.


getPOA

public ImRPOAInfo getPOA(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.


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.


getServer

public ImRServerInfo getServer(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.


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.


hasServer

public boolean hasServer(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.


putHost

public void putHost(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.


putPOA

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

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


putServer

public void putServer(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.


removeHost

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

Parameters:
name - the hosts name.


removePOA

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

Parameters:
name - the POAs name.


removeServer

public void removeServer(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.