Riferimenti per la classe org.jaebi.midlet.util.Observable

Diagramma delle classi per org.jaebi.midlet.util.Observable

Inheritance graph
[legenda]
Diagramma di collaborazione per org.jaebi.midlet.util.Observable:

Collaboration graph
[legenda]
Lista di tutti i membri.

Descrizione Dettagliata

Autore:
Antonio

Definizione alla linea 20 del file Observable.java.

Membri pubblici

 Observable ()
 Creates a new instance of Observable.
synchronized void addObserver (Observer o)
 Aggiunge un nuovo Observer all'insieme di Observer per questo oggetto, a patto che l'Observer che si sta inserendo non sia già prensente nell'insieme.
synchronized void deleteObserver (Observer o)
 Elimina un Observer dal'insieme.
void notifyObservers ()
 Se l'oggetto è cambiato (hasChanged() ritorna true), notifica tale cambiamento agli obervers effettuando la chiamata al loro metodo update).
void notifyObservers (Object arg)
 Se l'oggetto è cambiato (hasChanged() ritorna true), notifica tale cambiamento agli obervers effettuando la chiamata al loro metodo update.
synchronized void deleteObservers ()
 effettua il clear della lista degli observers
synchronized boolean hasChanged ()
 Verifica se l'oggetto è cambiato.
synchronized int countObservers ()
 Ritorna il numero di observer per questo oggetto.

Membri protetti

synchronized void setChanged ()
 Marca questo oggetto Observable come changed.
synchronized void clearChanged ()
 Indica che gli observer sono stati notificati dell'ultimo cambiamento.

Attributi privati

boolean changed = false
Vector obs


Documentazione dei costruttori e dei distruttori

org.jaebi.midlet.util.Observable.Observable  ) 
 

Creates a new instance of Observable.

Definizione alla linea 26 del file Observable.java.

Riferimenti org.jaebi.midlet.util.Observable.obs.

00026                         {
00027         obs = new Vector();
00028     }


Documentazione delle funzioni membro

synchronized void org.jaebi.midlet.util.Observable.addObserver Observer  o  ) 
 

Aggiunge un nuovo Observer all'insieme di Observer per questo oggetto, a patto che l'Observer che si sta inserendo non sia già prensente nell'insieme.

Il metodo è dichiarato synchronized per evitare che, nel caso di multithreading, si verifichino race conditions che portino ad inserire ugualmente due volte lo stesso Observer

Parametri:
o an observer to be added.
Eccezioni:
NullPointerException if the parameter o is null.

Definizione alla linea 39 del file Observable.java.

Riferimenti org.jaebi.midlet.util.Observable.obs.

00039                                                      {
00040         if (o == null)
00041             throw new NullPointerException();
00042         if (!obs.contains(o)) {
00043             obs.addElement(o);
00044         }
00045     }

synchronized void org.jaebi.midlet.util.Observable.clearChanged  )  [protected]
 

Indica che gli observer sono stati notificati dell'ultimo cambiamento.

il metodo hasChanged ora ritornerà false. Questo metodo è chiamato automaticamente dal metodo notifyObservers.

Vedi anche:
org.jaebi.client.midlet.util.Observable.notifyObservers()

org.jaebi.client.midlet.util.Observable.notifyObservers(java.lang.Object)

Definizione alla linea 136 del file Observable.java.

Riferimenti org.jaebi.midlet.util.Observable.changed.

Referenziato da org.jaebi.midlet.util.Observable.notifyObservers().

00136                                                {
00137         changed = false;
00138     }

synchronized int org.jaebi.midlet.util.Observable.countObservers  ) 
 

Ritorna il numero di observer per questo oggetto.

Restituisce:
il numero di observer per questo oggetto.

Definizione alla linea 159 del file Observable.java.

Riferimenti org.jaebi.midlet.util.Observable.obs.

00159                                              {
00160         return obs.size();
00161     }

synchronized void org.jaebi.midlet.util.Observable.deleteObserver Observer  o  ) 
 

Elimina un Observer dal'insieme.

Parametri:
o the observer to be deleted.

Definizione alla linea 52 del file Observable.java.

Riferimenti org.jaebi.midlet.util.Observable.obs.

00052                                                         {
00053         obs.removeElement(o);
00054     }

synchronized void org.jaebi.midlet.util.Observable.deleteObservers  ) 
 

effettua il clear della lista degli observers

Definizione alla linea 116 del file Observable.java.

Riferimenti org.jaebi.midlet.util.Observable.obs.

00116                                                {
00117         obs.removeAllElements();
00118     }

synchronized boolean org.jaebi.midlet.util.Observable.hasChanged  ) 
 

Verifica se l'oggetto è cambiato.

Restituisce:
true se e solo se il metodo setChanged è stato chiamato più recetemente di quando è stato chiamato clearChanged su quest'oggetto; false altrimenti.
Vedi anche:
org.jaebi.client.midlet.util.Observable.clearChanged()

org.jaebi.client.midlet.util.Observable.setChanged()

Definizione alla linea 150 del file Observable.java.

Riferimenti org.jaebi.midlet.util.Observable.changed.

00150                                              {
00151         return changed;
00152     }

void org.jaebi.midlet.util.Observable.notifyObservers Object  arg  ) 
 

Se l'oggetto è cambiato (hasChanged() ritorna true), notifica tale cambiamento agli obervers effettuando la chiamata al loro metodo update.

Una volta effettuata la notifica, viene chiamato il metodo clearChanged per indicare che l'oggetto non è più cambiato dall'ultima notifica.

Parametri:
arg any object.
Vedi anche:
org.jaebi.client.midlet.util.Observable.clearChanged()

org.jaebi.client.midlet.util.Observable.hasChanged()

org.jaebi.client.midlet.util.Observer.update(java.util.Observable, java.lang.Object)

Definizione alla linea 80 del file Observable.java.

Riferimenti org.jaebi.midlet.util.Observable.changed, org.jaebi.midlet.util.Observable.clearChanged(), e org.jaebi.midlet.util.Observable.obs.

00080                                             {
00081         /*
00082          *Collezione degli observer usata come snapshot dello stato degli observer correnti
00083          */
00084         Enumeration observers;
00085         
00086         synchronized (this) {
00087             /*
00088              * Il codice incaricato di estrarre la lista degli observer da notificare
00089              * necessita di sincronizzazione ma la notifica vera e propria no (non dovrebbe)
00090              * Il peggior risultato di una qualsiasi race-condition che possa verificarsi qui (in assenza di sincronizzazione
00091              *  è il seguente:
00092              * 1) a newly-added Observer will miss a
00093              *   notification in progress: siccome anche il metododo addObserver() è
00094              *   dichiarato sinchronized non può verificarsi che un flusso di controllo aggiunga un nuovo observer
00095              *   mentre un altro sta recuperando la lista degli observer per effettuare la notifica
00096              * 2) a recently unregistered Observer will be
00097              *   wrongly notified when it doesn't care: non può verificarsi che un flusso di controllo
00098              *   stia rimuovendo un observer mentre un altro sta recuperando
00099              *   la lista delgi observer a cui inviare la notifica (il metodo deleteObserver() è dichiarato anch'esso
00100              *   synchronized
00101              */
00102             if (!changed)
00103                 return;
00104             observers = obs.elements();
00105             clearChanged();
00106         }
00107         
00108         while (observers.hasMoreElements())
00109             ((Observer)observers.nextElement()).update(this, arg);
00110            
00111     }

Questo è il grafo delle chiamate per questa funzione:

void org.jaebi.midlet.util.Observable.notifyObservers  ) 
 

Se l'oggetto è cambiato (hasChanged() ritorna true), notifica tale cambiamento agli obervers effettuando la chiamata al loro metodo update).

Una volta effettuata la notifica, viene chiamato il metodo clearChanged per indicare che l'oggetto non è più cambiato dall'ultima notifica.

Vedi anche:
org.jaebi.client.midlet.util.Observable.clearChanged()

org.jaebi.client.midlet.util.Observable.hasChanged()

org.jaebi.client.midlet.util.Observer.update(java.util.Observable, java.lang.Object)

Definizione alla linea 65 del file Observable.java.

Referenziato da org.jaebi.midlet.bt.ConnectionSet.addConnection(), org.jaebi.midlet.bt.ConnectionSet.removeConnection(), org.jaebi.midlet.bt.Discoverer.run(), org.jaebi.midlet.bt.Discoverer.searchServices(), e org.jaebi.midlet.bt.Discoverer.serviceSearchCompleted().

00065                                   {
00066         notifyObservers(null);
00067     }

synchronized void org.jaebi.midlet.util.Observable.setChanged  )  [protected]
 

Marca questo oggetto Observable come changed.

Definizione alla linea 123 del file Observable.java.

Riferimenti org.jaebi.midlet.util.Observable.changed.

Referenziato da org.jaebi.midlet.bt.Discoverer.setState().

00123                                              {
00124         changed = true;
00125     }


Documentazione dei dati membri

boolean org.jaebi.midlet.util.Observable.changed = false [private]
 

Definizione alla linea 22 del file Observable.java.

Referenziato da org.jaebi.midlet.util.Observable.clearChanged(), org.jaebi.midlet.util.Observable.hasChanged(), org.jaebi.midlet.util.Observable.notifyObservers(), e org.jaebi.midlet.util.Observable.setChanged().

Vector org.jaebi.midlet.util.Observable.obs [private]
 

Definizione alla linea 23 del file Observable.java.

Referenziato da org.jaebi.midlet.util.Observable.addObserver(), org.jaebi.midlet.util.Observable.countObservers(), org.jaebi.midlet.util.Observable.deleteObserver(), org.jaebi.midlet.util.Observable.deleteObservers(), org.jaebi.midlet.util.Observable.notifyObservers(), e org.jaebi.midlet.util.Observable.Observable().


La documentazione per questa classe è stata generata a partire dal seguente file:
Generato il Thu Jun 23 00:03:03 2005 per JAEBI - BlueTooth J2ME Midlet Client da  doxygen 1.4.3