de.bsvrz.sys.usv.wrapper
Class SenderThread

java.lang.Object
  extended by java.lang.Thread
      extended by de.bsvrz.sys.usv.wrapper.SenderThread
All Implemented Interfaces:
de.bsvrz.dav.daf.main.ClientSenderInterface, Runnable

public class SenderThread
extends Thread
implements de.bsvrz.dav.daf.main.ClientSenderInterface

Klasse die die Kommunikation mit der Klasse durchführt, die eine reale USV-Anlage anbindet. Die Klasse benutzt dabei die Methoden, die im Interface USVAllgemein beschrieben sind. Die Methode welche Klasse die reale USV anbindet wird dabei als Aufrufparameter übergeben.

Version:
$Id$
Author:
ObertM Geprüft 30.9.2008 Hilpp, Christian Hösel, BitCtrl Systems GmbH

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
 
Constructor Summary
SenderThread(USVAllgemein usv, String pid, String schwellenWert, int zyklusZeit)
          Konstruktor der Klasse
 
Method Summary
 void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject arg0, de.bsvrz.dav.daf.main.DataDescription arg1, byte arg2)
           
 boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject arg0, de.bsvrz.dav.daf.main.DataDescription arg1)
           
 void run()
          Thread der die Kommunikation mit der Klasse, die die reale USV-Anlage einbindet, durchführt.
 void sendMessage(de.bsvrz.sys.funclib.operatingMessage.MessageType type, String messageTypeAddOn, de.bsvrz.sys.funclib.operatingMessage.MessageGrade grade, String message)
          Methode erzeugt eine Betriebsmeldung und sendet diese an den Datenverteiler.
 void setTrigger()
          Methode zum Unterbrechen der wait-Zyklen im Sender Thread.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, 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
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SenderThread

public SenderThread(USVAllgemein usv,
                    String pid,
                    String schwellenWert,
                    int zyklusZeit)
Konstruktor der Klasse

Parameters:
usv - Klasse die das Interface USVAllgemein implementiert
pid - Pid der realen USV
schwellenWert - die Schwellenwertbedingung, bei der, wenn sie erfüllt ist, der DAV heruntegefahren wird.
zyklusZeit - das Zeitintervall, in dem eine Aktualisierung der USV-Daten vorgenommen wird.
Method Detail

run

public void run()
Thread der die Kommunikation mit der Klasse, die die reale USV-Anlage einbindet, durchführt. Dabei werden zyklisch die Daten der USV-Anlage eingelesen und bei Änderung an den Datenverteiler gesendet. Die Zykluszeit kann durch die Methoden die im Interface USVTrigger definiert sind unterbrochen werden.

Specified by:
run in interface Runnable
Overrides:
run in class Thread

dataRequest

public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject arg0,
                        de.bsvrz.dav.daf.main.DataDescription arg1,
                        byte arg2)
Specified by:
dataRequest in interface de.bsvrz.dav.daf.main.ClientSenderInterface

isRequestSupported

public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject arg0,
                                  de.bsvrz.dav.daf.main.DataDescription arg1)
Specified by:
isRequestSupported in interface de.bsvrz.dav.daf.main.ClientSenderInterface

setTrigger

public void setTrigger()
Methode zum Unterbrechen der wait-Zyklen im Sender Thread.


sendMessage

public void sendMessage(de.bsvrz.sys.funclib.operatingMessage.MessageType type,
                        String messageTypeAddOn,
                        de.bsvrz.sys.funclib.operatingMessage.MessageGrade grade,
                        String message)
Methode erzeugt eine Betriebsmeldung und sendet diese an den Datenverteiler. Eingestellt werden können MeldungsTyp, MeldungsTypZusatz und die Meldungsklasse.

Parameters:
type - der MeldungsTyp
messageTypeAddOn - der MeldungsTypZusatz
grade - die MeldungsKlasse
message - Text der Meldung