Class AmpelServerProtokoll

java.lang.Object
  extended by java.lang.Thread
      extended by AmpelServerProtokoll
All Implemented Interfaces:
java.lang.Runnable, java.util.Observer

 class AmpelServerProtokoll
extends java.lang.Thread
implements java.util.Observer

Steuert Interaktion zwischen Server und Client, ueberwacht AmpelModel (Original).


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
private  AmpelModel model
          Model, Original serverseitig.
private  java.net.Socket s
          Socket fuer Clientverbindung.
private  java.io.BufferedReader vomClient
          Eingabestrom vom Client.
private  java.io.ObjectOutputStream zumClient
          Ausgabestrom zum Client.
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
AmpelServerProtokoll(java.net.Socket s, AmpelModel m)
          Konstruktor, baut Ueberwachungsmechanismus und Datenstroeme zum/vom Client auf.
 
Method Summary
private  void release()
          Schliesst Verbindung zum Client, setzt Model zurueck.
 void run()
          Interaktion, liest und verarbeitet Nachrichten vom Client, "set" .. schaltet die Ampel, "quit" .. beendet das Programm.
private  void send(boolean[] ryg)
          Sendet Ampelzustand zum Client.
 void update(java.util.Observable m, java.lang.Object o)
          Ueberschreibt Interfacemethode update, teilt Client Aenderung im Model mit.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, 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
 

Field Detail

model

private AmpelModel model
Model, Original serverseitig.


s

private java.net.Socket s
Socket fuer Clientverbindung.


vomClient

private java.io.BufferedReader vomClient
Eingabestrom vom Client.


zumClient

private java.io.ObjectOutputStream zumClient
Ausgabestrom zum Client.

Constructor Detail

AmpelServerProtokoll

public AmpelServerProtokoll(java.net.Socket s,
                            AmpelModel m)
Konstruktor, baut Ueberwachungsmechanismus und Datenstroeme zum/vom Client auf.

Parameters:
s - Socket fuer Clientverbindung
m - Modell auf dem Server
Method Detail

send

private void send(boolean[] ryg)
Sendet Ampelzustand zum Client.

Parameters:
ryg - Ampelzustand (rot, gelb, gruen)

run

public void run()
Interaktion, liest und verarbeitet Nachrichten vom Client, "set" .. schaltet die Ampel, "quit" .. beendet das Programm.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

release

private void release()
Schliesst Verbindung zum Client, setzt Model zurueck.


update

public void update(java.util.Observable m,
                   java.lang.Object o)
Ueberschreibt Interfacemethode update, teilt Client Aenderung im Model mit.

Specified by:
update in interface java.util.Observer
Parameters:
m - Model, welches Aenderungen meldet
o - geaendertes Objekt