de.guibuilder.adapter
Class Pinger

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--de.guibuilder.adapter.Pinger
All Implemented Interfaces:
java.lang.Runnable

public final class Pinger
extends java.lang.Thread

Dieser Thread ruft nach einer einstellbaren Zeit die Methode "ping()" auf. Dieser Thread läuft mit niedrigster Priorität.
Die Klasse ist singleton.
Über getInstance(Pingable) kann dieser Thread erzeugt und anschließend gestartet werden.
Es muß ein Objekt übergeben werden, welches das Interface "Pingable" implementiert.

Dieser Pinger wird von ThinClientAdapter verwendet, um den Server "anzupingen".
Dieser hat nun die Chance, auf dieses Ereignis zu reagieren (etwa indem der Benutzer über eingegangene Mails informiert wird, oder hierüber festzustellen, ob der Client noch lebt).

Per Default wird einmal pro Minute ein "ping" ausgelöst; dieses kann mit setPingSleep(anzahlSekunden) auch geändert werden.

See Also:
Pingable, ThinClientAdapter

Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Method Summary
static Pinger getInstance()
          Vorsicht!
static Pinger getInstance(Pingable p)
          Liefert den Pinger und startet ihn, falls noch nicht geschehen.
static int getPingSleep()
          Liefert Ping-Sleep in Sekunden
 void run()
           
static void setPingSleep(int sec)
           
 void stopRun()
          Hält den Pinger an.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getInstance

public static Pinger getInstance(Pingable p)
Liefert den Pinger und startet ihn, falls noch nicht geschehen.


getInstance

public static Pinger getInstance()
Vorsicht!
Liefert u.U. null, wenn der Pinger nicht instanziiert wurde!


setPingSleep

public static void setPingSleep(int sec)
Parameters:
sec - Ping-Sleep in Sekunden.
Throws:
IllegalArgumentException, - wenn < 0.

getPingSleep

public static int getPingSleep()
Liefert Ping-Sleep in Sekunden


run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

stopRun

public void stopRun()
Hält den Pinger an.