SOMA.gui
Class Anagrafe

java.lang.Object
  extended bySOMA.gui.Anagrafe

public class Anagrafe
extends java.lang.Object


Nested Class Summary
protected  class Anagrafe.Cella
          CLASSE INTERNA, usata per tener traccia delle registrazioni dei "Domain Name Service".
 
Field Summary
protected  java.util.Vector libroMastro
          Qui ci memorizzo i riferimenti a tutti gli "Environment" dei place creati.
protected  javax.swing.event.EventListenerList listenerList
          Lista contenente tutti gli oggetti che si sono "registrati" per ascoltare un cambiamento di anagrafe (battesimo di un nuovo place)!
protected  java.util.Vector parentela
          Qui ci memorizzo gli oggetti "Cella" per ricordarmi le registrazioni dei DNS.
 
Constructor Summary
Anagrafe()
          Costruzione di un oggetto Anagrafe.
 
Method Summary
 void addAnagrafeListener(AnagrafeListener cheListener)
          Ci si registra come LISTENER dell'oggetto Anagrafe.
protected  void aggiungiOrdinato(java.util.Vector elenco, java.lang.Object nuovo)
          Aggiunge il PlaceID all'elenco dato in maniera ORDINATA!
 javax.swing.tree.DefaultTreeModel alberoGerarchiaDNS()
          Rende un modello di un albero (DefaultTreeModel) il cui albero è costituito da nodi di classe DefaultMutableTreeNode in cui è incapsulato un oggetto di classe PlaceID.
 javax.swing.tree.DefaultTreeModel alberoPlaceNeiDominii()
          Rende un modello di un albero (DefaultTreeModel) il cui albero è costituito da nodi di classe DefaultMutableTreeNode in cui è incapsulato un oggetto di classe PlaceID.
 void battezzaPlace(Environment placeEnv)
          Rende noto al mondo che è nato un nuovo place!
 ActionPlace cheActionPlace(Environment env)
          Dato un Environment ne rende il suo ActionPlace (ritrovandolo dall'oggetto DaemonExplorerItem contenuto nel MENU').
 ActionPlace cheActionPlace(PlaceID placeID)
          Dato un PlaceID ne rende il suo ActionPlace (ritrovandolo dalla catena di oggetti che partono dall'Environment).
 Environment cheEnvironment(PlaceID placeID)
          Dato un PlaceID ne rende il suo Environment (precedentemente salvato in "libroMastro").
 java.net.InetAddress cheHost(Environment env)
          Dato un Environment ne rende il suo Indirizzo di Host (ossia l'indirizzo a cui è stato registrato il networkManager) (ritrovandolo dalla catena di oggetti che partono dall'Environment).
 java.net.InetAddress cheHost(PlaceID placeID)
          Dato un PlaceID ne rende il suo Indirizzo di Host (ossia l'indirizzo a cui è stato registrato il networkManager) (ritrovandolo dalla catena di oggetti che partono dall'Environment).
 PlaceID chePlaceLocaleSuPorta(int porta)
          Dato un Numero di Porta rende il PlaceID che la sta usando (ritrovandolo dalla catena di oggetti che partono dall'Environment e dai place salvati in "libroMastro" ).
 int chePorta(Environment env)
          Dato un Environment ne rende il suo Numero di Porta (ritrovandolo dalla catena di oggetti che partono dall'Environment).
 int chePorta(PlaceID placeID)
          Dato un PlaceID ne rende il suo Numero di Porta (ritrovandolo dalla catena di oggetti che partono dall'Environment).
protected  javax.swing.tree.DefaultMutableTreeNode CreaSottoAlberoGerarchiaDNS(PlaceID placeAtt, int livello)
          Metodo interno, usato per creare "ricorsivamente" l'albero di gerarchia dei DNS.
protected  void fireAnagrafeCambiata()
          Metodo INTERNO, usato per notificare a tutti i listener (che si sono registrati con "addAnagrafeListener") che è avvenuto un evento di "modifica d'Anagrafe".
 java.util.Vector listaOgniPlace()
          Rende un Vector contenente un elenco di PlaceID.
 java.util.Vector listaPlaceDefault()
          Rende un Vector contenente un elenco di PlaceID.
 java.util.Vector listaPlaceInDominio(PlaceID dominio)
          Rende un Vector contenente un elenco di PlaceID.
 void removeAnagrafeListener(AnagrafeListener cheListener)
          Funzione inversa di "addAnagrafeListener"; serve per annullare una precedente registrazione di un Listener.
 java.util.Vector rendiFigliDNS(PlaceID placeID)
          Rende l'elenco dei FIGLI DEL DNS PlaceID passato (ogni DNS può avere zero, uno o più figli).
 PlaceID rendiGenitoreDNS(PlaceID placeID)
          Rende il PlaceID del DNS GENITORE del PlaceID passato (ogni DNS ha al più un solo padre).
 void ricordaRegistrazioneLocaleDNS(PlaceID placeFiglio, int porta)
          Questa funzione permette di "ricordarsi" una registrazione di DNS.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

libroMastro

protected java.util.Vector libroMastro
Qui ci memorizzo i riferimenti a tutti gli "Environment" dei place creati.


listenerList

protected javax.swing.event.EventListenerList listenerList
Lista contenente tutti gli oggetti che si sono "registrati" per ascoltare un cambiamento di anagrafe (battesimo di un nuovo place)!


parentela

protected java.util.Vector parentela
Qui ci memorizzo gli oggetti "Cella" per ricordarmi le registrazioni dei DNS.

Constructor Detail

Anagrafe

public Anagrafe()
Costruzione di un oggetto Anagrafe.

Method Detail

battezzaPlace

public void battezzaPlace(Environment placeEnv)
Rende noto al mondo che è nato un nuovo place! Lo "battezza", cioé lo scrive nell'elenco interno "libroMastro", dopodiché genera un'evento "anagrafeCambiata".


ricordaRegistrazioneLocaleDNS

public void ricordaRegistrazioneLocaleDNS(PlaceID placeFiglio,
                                          int porta)
Questa funzione permette di "ricordarsi" una registrazione di DNS. Poiché la classe "DomainNameService" NON permette la lettura dei sui attributi (non sono "public") l'unica strada è "memorizzarsi" la registrazione nello stesso momento in cui viene fatta. In genere questo metodo va invocato dopo la "battezzaPlace" (nel caso che il place sia un place di default).


cheEnvironment

public Environment cheEnvironment(PlaceID placeID)
Dato un PlaceID ne rende il suo Environment (precedentemente salvato in "libroMastro").


aggiungiOrdinato

protected void aggiungiOrdinato(java.util.Vector elenco,
                                java.lang.Object nuovo)
Aggiunge il PlaceID all'elenco dato in maniera ORDINATA! (si basa sul "toString").


cheActionPlace

public ActionPlace cheActionPlace(PlaceID placeID)
Dato un PlaceID ne rende il suo ActionPlace (ritrovandolo dalla catena di oggetti che partono dall'Environment).


cheActionPlace

public ActionPlace cheActionPlace(Environment env)
Dato un Environment ne rende il suo ActionPlace (ritrovandolo dall'oggetto DaemonExplorerItem contenuto nel MENU').


chePorta

public int chePorta(PlaceID placeID)
Dato un PlaceID ne rende il suo Numero di Porta (ritrovandolo dalla catena di oggetti che partono dall'Environment).


chePorta

public int chePorta(Environment env)
Dato un Environment ne rende il suo Numero di Porta (ritrovandolo dalla catena di oggetti che partono dall'Environment).


chePlaceLocaleSuPorta

public PlaceID chePlaceLocaleSuPorta(int porta)
Dato un Numero di Porta rende il PlaceID che la sta usando (ritrovandolo dalla catena di oggetti che partono dall'Environment e dai place salvati in "libroMastro" ).


cheHost

public java.net.InetAddress cheHost(PlaceID placeID)
Dato un PlaceID ne rende il suo Indirizzo di Host (ossia l'indirizzo a cui è stato registrato il networkManager) (ritrovandolo dalla catena di oggetti che partono dall'Environment).


cheHost

public java.net.InetAddress cheHost(Environment env)
Dato un Environment ne rende il suo Indirizzo di Host (ossia l'indirizzo a cui è stato registrato il networkManager) (ritrovandolo dalla catena di oggetti che partono dall'Environment).


rendiGenitoreDNS

public PlaceID rendiGenitoreDNS(PlaceID placeID)
Rende il PlaceID del DNS GENITORE del PlaceID passato (ogni DNS ha al più un solo padre). Viene reso "null" se non ha padre (è il DNS radice). NON SI ACCEDE AL "DNS" (poiché ha variabili "protette") ma all'oggetto "Anagrafe". NB: il placeID passato DEVE essere un place di default!


rendiFigliDNS

public java.util.Vector rendiFigliDNS(PlaceID placeID)
Rende l'elenco dei FIGLI DEL DNS PlaceID passato (ogni DNS può avere zero, uno o più figli). Viene reso una lista senza elementi se non ha nessun figlio (è un DNS foglia). Non si accede al "DNS" (poiché ha variabili "protette") ma all'oggetto "Anagrafe". NB: il placeID passato DEVE essere un place di default! Il Vector reso contiene oggetti di classe PlaceID.


addAnagrafeListener

public void addAnagrafeListener(AnagrafeListener cheListener)
Ci si registra come LISTENER dell'oggetto Anagrafe. Ogni listener deve implementare l'interfaccia "AnagrafeListener" e sara' avvisato quando avviene una modifica all'Anagrafe (battesimo di un nuovo place). Anche se l'accostamento delle parole inglesi "add" e "Listener" con l'italiano "Anagrafe" non è molto grazioso, l'ho fatto per mantenere la "compatibilità" di sintassi definita dal modello a eventi di Java.


removeAnagrafeListener

public void removeAnagrafeListener(AnagrafeListener cheListener)
Funzione inversa di "addAnagrafeListener"; serve per annullare una precedente registrazione di un Listener.


fireAnagrafeCambiata

protected void fireAnagrafeCambiata()
Metodo INTERNO, usato per notificare a tutti i listener (che si sono registrati con "addAnagrafeListener") che è avvenuto un evento di "modifica d'Anagrafe".


listaOgniPlace

public java.util.Vector listaOgniPlace()
Rende un Vector contenente un elenco di PlaceID. che corrisponde a una lista di TUTTI I PLACE "battezzati" (sia dei place di default sia di quelli "normali")


listaPlaceDefault

public java.util.Vector listaPlaceDefault()
Rende un Vector contenente un elenco di PlaceID. che corrisponde a una lista di TUTTI I PLACE DI DEFAULT "battezzati".


listaPlaceInDominio

public java.util.Vector listaPlaceInDominio(PlaceID dominio)
Rende un Vector contenente un elenco di PlaceID. che corrisponde a una lista di TUTTI I PLACE ("battezzati") CHE SONO CONTENUTI NEL DOMINIO PASSATO.


alberoPlaceNeiDominii

public javax.swing.tree.DefaultTreeModel alberoPlaceNeiDominii()
Rende un modello di un albero (DefaultTreeModel) il cui albero è costituito da nodi di classe DefaultMutableTreeNode in cui è incapsulato un oggetto di classe PlaceID. Tale albero ha due soli livelli; a profondità "uno" ci sono tutti i place di default mentre a profondità "due" ci sono tutti gli altri place, ognuno dei quali "discende" dal place di default del proprio dominio. In pratica è la relazione di "appartenenza" dei place ai place di default. Nota: la radice dell'albero non è rilevante e perciò non verrà visualizzata.


alberoGerarchiaDNS

public javax.swing.tree.DefaultTreeModel alberoGerarchiaDNS()
Rende un modello di un albero (DefaultTreeModel) il cui albero è costituito da nodi di classe DefaultMutableTreeNode in cui è incapsulato un oggetto di classe PlaceID. Tale albero rappresenta la relazione di "gerarchia" tra i Domain-Name-Service dei place di default. Perciò può avere una profondità non predicibile.


CreaSottoAlberoGerarchiaDNS

protected javax.swing.tree.DefaultMutableTreeNode CreaSottoAlberoGerarchiaDNS(PlaceID placeAtt,
                                                                              int livello)
Metodo interno, usato per creare "ricorsivamente" l'albero di gerarchia dei DNS. Nota: per non "ciclare" all'infinito in caso di una possibile creazione errata della gerarchia (da parte dell'utente) si è scelto di limitare la profondità massima dell'albero a trenta (che poi, per pura coincidenza, è uguale al voto massimo a cui uno studente universitario può aspirare).



Copyright © 2004 Luca Foschini