SOMA.naming.place
Class PlaceNameService

java.lang.Object
  extended bySOMA.naming.place.PlaceNameService
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
MobilePlaceNameService

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

Servizio di nomi di place, PNS.

Il servizio realizza la metafora di una tabella in cui vengono memorizzate le PlaceInfo. La chiave di ricerca e' di tipo PlaceID, identificatore del place.

Affinche' un place entri a far parte di un dominio e' necessario che il PNS del place si registri presso il PNS del default place del dominio.

In ogni momento il PNS puo' richiedere l'aggiornamento della tabella dei place del dominio sia al default place, sia a un place qualsiasi, ove questo sia necessario.

Author:
Livio Profiri
See Also:
PNSExplorerItem, DomainNameService, Serialized Form

Field Summary
protected  Environment env
           
protected  java.util.Hashtable places
           
 
Constructor Summary
PlaceNameService(Environment env)
          Costruttore.
 
Method Summary
 PlaceInfo getPlace(PlaceID placeID)
          Restituisce la PlaceInfo corrispondente a placeID, o null se non trovata.
 PlaceID[] getPlacesArray()
          Restituisce un array contenente tutti gli identificatori di domino.
 void listPlaces(java.io.PrintStream out)
          Stampa la lista di tutti i place del dominio su out.
 PlaceInfo putPlace(PlaceInfo newPlaceInfo)
          Inserisce una PlaceInfo.
 boolean refresh()
          Richiesta di refresh della tabella al PNS del default place.
 boolean refresh(java.net.InetAddress host, int port)
          Richiesta di refresh della tabella al PNS di un place qualsiasi.
 boolean register(java.net.InetAddress host, int port)
          Registrazione presso il PNS del default place del dominio.
 PlaceInfo removePlace(PlaceID aPlaceID)
          Elimina la placeInfo corrispondente a aPlaceID.
 void sendToAllPlaces(Command command)
          Spedisce un comando a tutti i place della tabella.
 void sendToAllPlaces(Command command, PlaceID DontSendMe)
          Spedisce un comando a tutti i place della tabella, escluso il place DontSendMe.
 void setEnv(Environment env)
          Aggiorna il riferimento all'Environment.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

env

protected transient Environment env

places

protected java.util.Hashtable places
Constructor Detail

PlaceNameService

public PlaceNameService(Environment env)
Costruttore.

Parameters:
env - L'environment del place.
Method Detail

getPlace

public PlaceInfo getPlace(PlaceID placeID)
Restituisce la PlaceInfo corrispondente a placeID, o null se non trovata.


putPlace

public PlaceInfo putPlace(PlaceInfo newPlaceInfo)
Inserisce una PlaceInfo.

Se e' un default place e PlaceInfo e' nuova, aggiorna gli altri place.

Returns:
Il vecchio valore memorizzato o null se si tratta di un nuovo place.

removePlace

public PlaceInfo removePlace(PlaceID aPlaceID)
Elimina la placeInfo corrispondente a aPlaceID.

Se e' un default place e aPlaceID e' presente, aggiorna gli altri place.

Returns:
Il vecchio valore memorizzato o null se si tratta di un nuovo place.

listPlaces

public void listPlaces(java.io.PrintStream out)
Stampa la lista di tutti i place del dominio su out.


register

public boolean register(java.net.InetAddress host,
                        int port)
Registrazione presso il PNS del default place del dominio.

Viene inviato un PlaceRegisterCommand al default place, individuato dalla coppia host:port.


refresh

public boolean refresh()
Richiesta di refresh della tabella al PNS del default place.

Viene inviato un PlaceRefreshCommand.Request al PNS del default place.


refresh

public boolean refresh(java.net.InetAddress host,
                       int port)
Richiesta di refresh della tabella al PNS di un place qualsiasi.

Viene inviato un PlaceRefreshCommand.Request al PNS del place individuato dalla coppiahost:port.


sendToAllPlaces

public void sendToAllPlaces(Command command)
Spedisce un comando a tutti i place della tabella.


sendToAllPlaces

public void sendToAllPlaces(Command command,
                            PlaceID DontSendMe)
Spedisce un comando a tutti i place della tabella, escluso il place DontSendMe.


getPlacesArray

public PlaceID[] getPlacesArray()
Restituisce un array contenente tutti gli identificatori di domino. Questa funzionalita' viene fornita agli agenti.


setEnv

public void setEnv(Environment env)
Aggiorna il riferimento all'Environment. Usato nel caricamento da disco.


toString

public java.lang.String toString()


Copyright © 2004 Luca Foschini