de.bsvrz.pat.onlprot.standardProtocolModule
Class StandardProtocoller

java.lang.Object
  extended by de.bsvrz.pat.onlprot.standardProtocolModule.ProtocolModule
      extended by de.bsvrz.pat.onlprot.standardProtocolModule.StandardProtocoller
All Implemented Interfaces:
ProtocolModuleInterface

public class StandardProtocoller
extends ProtocolModule

Der Standardprotokollierer, welcher eine tabellarische Ausgabe (in drei verschieden ausführlichen Tiefen) und eine XML-Ausgabe erzeugen kann.

Author:
Kappich Systemberatung

Nested Class Summary
private  class StandardProtocoller.DataProtocoller
          Gibt bei jeder Aktualisierung zusätzlich die Attributwerte der enthaltenen Datensätze aus.
private  class StandardProtocoller.HeaderProtocoller
          Gibt bei jeder Aktualisierung zusätzlich die Köpfe der enthaltenen Datensätze aus.
private  class StandardProtocoller.SilentProtocoller
          Keine Ausgabe.
private  class StandardProtocoller.UpdateSummaryProtocoller
          Gibt bei jeder Aktualisierung die Anzahl der enthaltenen Datensätze aus.
private  class StandardProtocoller.XmlProtocoller
          Gibt die Telegramme in einem XML-Format aus.
 
Field Summary
private  String _actionText
          Wird in StandardProtocoller.UpdateSummaryProtocoller.update(de.bsvrz.dav.daf.main.ResultData[]) als Informationstext ausgegeben
private static DateFormat _dateFormat
          Datums-Format
private static Object _memoryUsage
          Objekt, dessen toString Methode Infos über die aktuelle Hauptspeicherverwendung der Applikation zurückgibt.
private static DateFormat dateFormat
          Schreibt String-Format der Zeitstempel vor
private static Debug debug
          Die Debug-Ausgabe
private static int FOOTER_WRITTEN
          Konstante für state: Es wurde ein Protokollfuß ausgegeben.
private static int HEADER_WRITTEN
          Konstante für state: Es wurde bereits ein Protokollkopf, aber noch kein -fuß ausgegeben.
private static String indentationPrefix
          Beschreibt Zeichenkette, die in jeder Zeile pro Einrückungsebene ausgegeben wird
private static int NO_HEADER_WRITTEN
          Konstante für state: Es wurde noch kein Protokollkopf ausgegeben.
private  long resultDataCount
          Anzahl der bereits empfangenen Datensätze
private  int state
          Zustand des Protokollierers: state == NO_HEADER_WRITTEN: Ausgangszustand: noch keinen Kopf geschrieben state == HEADER_WRITTEN: Kopf wurde ausgegeben.
private  long updateCount
          Anzahl der Aufrufe von StandardProtocoller.UpdateSummaryProtocoller.update(de.bsvrz.dav.daf.main.ResultData[])
 
Constructor Summary
StandardProtocoller()
          Erzeugt ein neues Objekt der Klasse StandardProtocoller mit dem actionText Aktualisierung
StandardProtocoller(String actionText)
          Erzeugt ein neues Objekt der Klasse StandardProtocoller mit speziellem actionText
 
Method Summary
 void closeProtocol()
          Führt Aufräumarbeiten nach Beendigung des Standardprotokollierers aus.
 String getHelp()
          Gibt Information über die Aufrufparameter des Protokollierungsmoduls zurück
protected  ArgumentList.ValueSelection getProtocollerSelection()
          Stellt Liste der bekannten Protokollierer zusammen.
 ClientReceiverInterface initProtocol(ArgumentList argumentList, PrintWriter protocolFileWriter, String[] args)
          Führt die Initialisierungsschritte des Standardprotokollierers aus.
 ClientReceiverInterface initProtocolWithoutHeader(ArgumentList protocollerArgumentList, PrintWriter printWriter)
          Führt die Initialisierungsschritte des Standardprotokollierers aus.
 void update(ResultData[] results)
          Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes vom benutzten Protokollierer aufgerufen wird.
 
Methods inherited from class de.bsvrz.pat.onlprot.standardProtocolModule.ProtocolModule
getProtocolFileWriter, getProtocoller, setProtocolFileWriter, setProtocoller
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

private static final Debug debug
Die Debug-Ausgabe


_dateFormat

private static final DateFormat _dateFormat
Datums-Format


dateFormat

private static final DateFormat dateFormat
Schreibt String-Format der Zeitstempel vor


indentationPrefix

private static final String indentationPrefix
Beschreibt Zeichenkette, die in jeder Zeile pro Einrückungsebene ausgegeben wird

See Also:
Constant Field Values

NO_HEADER_WRITTEN

private static final int NO_HEADER_WRITTEN
Konstante für state: Es wurde noch kein Protokollkopf ausgegeben.

See Also:
Constant Field Values

HEADER_WRITTEN

private static final int HEADER_WRITTEN
Konstante für state: Es wurde bereits ein Protokollkopf, aber noch kein -fuß ausgegeben.

See Also:
Constant Field Values

FOOTER_WRITTEN

private static final int FOOTER_WRITTEN
Konstante für state: Es wurde ein Protokollfuß ausgegeben.

See Also:
Constant Field Values

_actionText

private final String _actionText
Wird in StandardProtocoller.UpdateSummaryProtocoller.update(de.bsvrz.dav.daf.main.ResultData[]) als Informationstext ausgegeben


resultDataCount

private long resultDataCount
Anzahl der bereits empfangenen Datensätze


state

private int state
Zustand des Protokollierers:


updateCount

private long updateCount
Anzahl der Aufrufe von StandardProtocoller.UpdateSummaryProtocoller.update(de.bsvrz.dav.daf.main.ResultData[])


_memoryUsage

private static Object _memoryUsage
Objekt, dessen toString Methode Infos über die aktuelle Hauptspeicherverwendung der Applikation zurückgibt. Das Objekt kann in Debug-Nachrichten als zweiter Parameter benutzt werden. Die toString-Methode wird dann nur aufgerufen, wenn das Debug-Level so hoch eingestellt ist, dass die Meldung tatsächlich ausgegeben wird.

Constructor Detail

StandardProtocoller

public StandardProtocoller()
Erzeugt ein neues Objekt der Klasse StandardProtocoller mit dem actionText Aktualisierung


StandardProtocoller

public StandardProtocoller(String actionText)
Erzeugt ein neues Objekt der Klasse StandardProtocoller mit speziellem actionText

Parameters:
actionText - String mit dem gewünschten Ausgabetext bei Aktualisierungen
Method Detail

getHelp

public String getHelp()
Gibt Information über die Aufrufparameter des Protokollierungsmoduls zurück

Specified by:
getHelp in interface ProtocolModuleInterface
Specified by:
getHelp in class ProtocolModule
Returns:
String mit der Beschreibung der erlaubten Aufrufparameter und deren erwartetes Format

initProtocol

public ClientReceiverInterface initProtocol(ArgumentList argumentList,
                                            PrintWriter protocolFileWriter,
                                            String[] args)
Führt die Initialisierungsschritte des Standardprotokollierers aus. Insbesondere wird einer der gültigen Protokollierer ausgewählt und der Protokollkopf ausgegeben.

Specified by:
initProtocol in interface ProtocolModuleInterface
Overrides:
initProtocol in class ProtocolModule
Parameters:
argumentList - ArgumentList der noch nicht ausgewerteten Aufrufparameter der Applikation
protocolFileWriter - PrintWriter der protokollierten Datensequenzen
args - String[] mit den Kommandozeilenargumenten
Returns:
ClientReceiverInterface-Handle auf den benutzten Protokollierer

initProtocolWithoutHeader

public ClientReceiverInterface initProtocolWithoutHeader(ArgumentList protocollerArgumentList,
                                                         PrintWriter printWriter)
Führt die Initialisierungsschritte des Standardprotokollierers aus. Insbesondere wird einer der gültigen Protokollierer ausgewählt. In dieser Variante wird der Protokollkopf nicht ausgegeben.

Parameters:
protocollerArgumentList -
printWriter -
Returns:

update

public void update(ResultData[] results)
Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes vom benutzten Protokollierer aufgerufen wird.

Specified by:
update in class ProtocolModule
Parameters:
results - ResultData[] mit den empfangenen Ergebnisdatensätzen
See Also:
ClientReceiverInterface.update(de.bsvrz.dav.daf.main.ResultData[])

closeProtocol

public void closeProtocol()
Führt Aufräumarbeiten nach Beendigung des Standardprotokollierers aus. Fußzeilen werden geschrieben und der Ausgabe-Stream geschlossen.

Specified by:
closeProtocol in interface ProtocolModuleInterface
Specified by:
closeProtocol in class ProtocolModule

getProtocollerSelection

protected ArgumentList.ValueSelection getProtocollerSelection()
Stellt Liste der bekannten Protokollierer zusammen. Kann bei der Interpretation von Aufrufargumenten mit der Methode ArgumentList.Argument.asValueCase(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList.ValueSelection) benutzt werden, um eine der verschiedenen Ausgabeoptionen auszuwählen.

Returns:
ValueSelection mit den erlaubten Protokollierern