private class StandardProtocoller.XmlProtocoller extends java.lang.Object implements ExtendedProtocollerInterface
Gibt die Telegramme in einem XML-Format aus.
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
ARGUMENTS_TAG
Konstante für das Tag für Aufrufparameter
|
private static java.lang.String |
ARRAY_TAG
Konstante für das Feld-Tag
|
private static java.lang.String |
ASPECT_TAG
Konstante für das Aspekt-Tag
|
private static java.lang.String |
ATTRIBUTE_TAG
Konstante für das Attribut-Tag
|
private static java.lang.String |
ATTRIBUTEGROUP_TAG
Konstante für das Attributgruppen-Tag
|
private static java.lang.String |
BLOCK_TAG
Konstante für das Block-Tag
|
private static java.lang.String |
BODY_TAG
Konstante für das Körper-Tag
|
private static int |
BUFFER_LENGTH
Standardlänge eines
StringBuffer s |
private static java.lang.String |
DELAYED_TAG
Konstante für das Nachgeliefert-Tag
|
private static java.lang.String |
DOCTYPE_INFO
Beschreibt Dokumenttyp
|
private static java.lang.String |
HEAD_TAG
Konstante für das Kopf-Tag
|
private static java.lang.String |
ID_IS_QUOTES
Konstante für den ID-Text.
|
private int |
indentLevel
Einrücktiefe
|
private boolean |
isInBlock
Zustandskennung; wichtig bei Abbruch der Applikation: Während ein Block von Datentelegrammen geschrieben wird, darf die Applikation nicht abgebrochen werden, da die sonst resultierende XML-Datei fehlerhaft aufgebaut würde (
</block> würde fehlen). |
private static java.lang.String |
LENGTH_IS_QUOTES
Konstante für den Längen-Text.
|
private static java.lang.String |
LIST_TAG
Konstante für das Listen-Tag
|
private static java.lang.String |
NAME_IS_QUOTES
Konstante für den Name-Text.
|
private static java.lang.String |
NO_DATA_TAG
Konstante für das Tag, welches als Kennung für keine Daten dient
|
private static java.lang.String |
NO_SOURCE_TAG
Konstante für das Tag, welches als Kennung für keine Quelle dient
|
private static java.lang.String |
OBJECT_TAG
Konstante für das Objekt-Tag
|
private static java.lang.String |
PID_IS_QUOTES
Konstante für den PID-Text.
|
private static java.lang.String |
PROTOCOL_TAG
Konstante für das Protokoll-Tag
|
private static java.lang.String |
RCV_TIME_STAMP_IS_QUOTES
Konstante für den Empfangszeitstempel-Text.
|
private static java.lang.String |
RECORD_TAG
Konstante für das Datensatz-Tag
|
private static java.lang.String |
SIM_VARIANT_TAG
Konstante für das Simulationsvarianten-Tag
|
private static java.lang.String |
START_TIME_STAMP_TAG
Konstante für das Start-Tag
|
private static java.lang.String |
TIME_STAMP_TAG
Konstante für das Zeitstempel-Tag
|
private static java.lang.String |
UNIT_IS_QUOTES
Konstante für den Einheiten-Text.
|
private static java.lang.String |
VALUE_IS
Konstante für den Wert-Text.
|
private static java.lang.String |
VALUE_IS_QUOTES
Konstante für den Wert-Text.
|
private static java.lang.String |
XML_VERSION_INFO
XML-Versions-Info der erzeugten XML-Ausgabe
|
Constructor and Description |
---|
XmlProtocoller()
Erzeugt ein neues Objekt der Klasse
XmlProtocoller |
Modifier and Type | Method and Description |
---|---|
protected void |
closeTag(java.lang.String tag)
Schließendes XML-Tag ausgeben.
|
protected void |
openAndCloseTag(java.lang.String tag)
XML-Tag schreiben und mit /> abschließen.
|
protected void |
openAndCloseTag(java.lang.String tag,
java.lang.String value)
Mit Attribut versehenes XML-Tag schreiben und mit /> abschließen.
|
protected void |
openAndCloseTag(java.lang.String tag,
java.lang.String value,
java.lang.String comment)
Mit Attribut und Kommentar versehenes XML-Tag schreiben und mit /> abschließen.
|
protected void |
openAndCloseTag(java.lang.String tag,
java.lang.String name,
java.lang.String value,
java.lang.String comment)
Mit besonders benanntem Attribut und Kommentar versehenes XML-Tag schreiben und mit /> abschließen.
|
protected void |
openTag(java.lang.String tag)
Öffnendes XML-Tag ausgeben.
|
protected void |
openTag(java.lang.String tag,
java.lang.String value)
Mit Attribut versehenes öffnendes XML-Tag ausgeben.
|
protected void |
openTag(java.lang.String tag,
java.lang.String value,
java.lang.String length)
Mit Attribut und Länge versehenes öffnendes XML-Tag ausgeben.
|
protected void |
printData(Data data)
Einen Datensatz ausgeben.
|
protected void |
printDataKind(ResultData telegram)
Gibt Informationen über die Art der Daten aus.
|
void |
update(ResultData[] results)
Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird und die erhaltenen Datensätze im XML-Format ausgibt.
|
void |
writeBlock(ResultData[] results,
long currentTime)
Block, bestehend aus mehreren Telegrammen, ausgeben.
|
protected void |
writeComment(java.lang.String comment)
Zeichenkette als XML-Kommentar ausgeben.
|
void |
writeFooter()
Gibt einen Fuß, bestehend aus schließendem
BODY_TAG und PROTOCOL_TAG , aus |
void |
writeHeader(java.lang.String[] args)
Gibt einen Kopf aus, der Informationen über die XML-Version und den verwendeten Dokumenttyp ausgibt und den Kopf schreibt
|
void |
writeHeader(java.lang.String[] args,
long startTime)
Gibt einen Protokollkopf aus.
|
protected void |
writeTag(java.lang.String tag)
XML-Tag auf Ausgabe-Stream schreiben
|
protected void |
writeTag(java.lang.String tag,
java.lang.String value)
Mit Attribut versehenes XML-Tag auf Ausgabe-Stream schreiben
|
protected void |
writeTag(java.lang.String tag,
java.lang.String value,
java.lang.String counter)
Mit Attribut und Zähler versehenes XML-Tag auf Ausgabe-Stream schreiben
|
protected void |
writeTelegram(ResultData telegram)
Ausgabe eines Datentelegramms.
|
private java.lang.String |
xmlText(java.lang.String text) |
private static final java.lang.String ARGUMENTS_TAG
Konstante für das Tag für Aufrufparameter
private static final java.lang.String ARRAY_TAG
Konstante für das Feld-Tag
private static final java.lang.String ASPECT_TAG
Konstante für das Aspekt-Tag
private static final java.lang.String ATTRIBUTE_TAG
Konstante für das Attribut-Tag
private static final java.lang.String ATTRIBUTEGROUP_TAG
Konstante für das Attributgruppen-Tag
private static final java.lang.String BLOCK_TAG
Konstante für das Block-Tag
private static final java.lang.String BODY_TAG
Konstante für das Körper-Tag
private static final int BUFFER_LENGTH
Standardlänge eines StringBuffer
s
private static final java.lang.String DELAYED_TAG
Konstante für das Nachgeliefert-Tag
private static final java.lang.String DOCTYPE_INFO
Beschreibt Dokumenttyp
private static final java.lang.String HEAD_TAG
Konstante für das Kopf-Tag
private static final java.lang.String ID_IS_QUOTES
Konstante für den ID-Text.
private static final java.lang.String LENGTH_IS_QUOTES
Konstante für den Längen-Text.
private static final java.lang.String LIST_TAG
Konstante für das Listen-Tag
private static final java.lang.String NAME_IS_QUOTES
Konstante für den Name-Text.
private static final java.lang.String NO_DATA_TAG
Konstante für das Tag, welches als Kennung für keine Daten dient
private static final java.lang.String NO_SOURCE_TAG
Konstante für das Tag, welches als Kennung für keine Quelle dient
private static final java.lang.String OBJECT_TAG
Konstante für das Objekt-Tag
private static final java.lang.String PID_IS_QUOTES
Konstante für den PID-Text.
private static final java.lang.String PROTOCOL_TAG
Konstante für das Protokoll-Tag
private static final java.lang.String RCV_TIME_STAMP_IS_QUOTES
Konstante für den Empfangszeitstempel-Text.
private static final java.lang.String RECORD_TAG
Konstante für das Datensatz-Tag
private static final java.lang.String SIM_VARIANT_TAG
Konstante für das Simulationsvarianten-Tag
private static final java.lang.String START_TIME_STAMP_TAG
Konstante für das Start-Tag
private static final java.lang.String TIME_STAMP_TAG
Konstante für das Zeitstempel-Tag
private static final java.lang.String UNIT_IS_QUOTES
Konstante für den Einheiten-Text.
private static final java.lang.String VALUE_IS
Konstante für den Wert-Text.
private static final java.lang.String VALUE_IS_QUOTES
Konstante für den Wert-Text.
private static final java.lang.String XML_VERSION_INFO
XML-Versions-Info der erzeugten XML-Ausgabe
private int indentLevel
Einrücktiefe
private boolean isInBlock
Zustandskennung; wichtig bei Abbruch der Applikation: Während ein Block von Datentelegrammen geschrieben wird, darf die Applikation nicht abgebrochen werden, da die sonst resultierende XML-Datei fehlerhaft aufgebaut würde (</block>
würde fehlen).
public XmlProtocoller()
Erzeugt ein neues Objekt der Klasse XmlProtocoller
public void update(ResultData[] results)
Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird und die erhaltenen Datensätze im XML-Format ausgibt.
update
in interface ClientReceiverInterface
results
- ResultData
[] mit den empfangenen Ergebnisdatensätzen.public void writeFooter()
Gibt einen Fuß, bestehend aus schließendem BODY_TAG
und PROTOCOL_TAG
, aus
writeFooter
in interface ClientProtocollerInterface
public void writeHeader(java.lang.String[] args, long startTime)
ExtendedProtocollerInterface
Gibt einen Protokollkopf aus. Die evtl. im Kopf ausgegebene Startzeit kann durch einen entsprechenden Parameter vorgegben werden.
writeHeader
in interface ExtendedProtocollerInterface
args
- Kommandozeilenargumente, die evtl. im Kopf des Protokolls ausgegeben werden.startTime
- Startzeit in Millisekunden seit 1970, die evtl. im Kopf des Protokoll ausgegeben wird.public void writeHeader(java.lang.String[] args)
Gibt einen Kopf aus, der Informationen über die XML-Version und den verwendeten Dokumenttyp ausgibt und den Kopf schreibt
writeHeader
in interface ClientProtocollerInterface
args
- String[] mit den Kommandozeilenparameternprotected void closeTag(java.lang.String tag)
Schließendes XML-Tag ausgeben. Die übergebene Bezeichnung wird mit spitzen Klammern umgeben.
tag
- String, der Bezeichnung des Tags enthältprotected void openAndCloseTag(java.lang.String tag)
XML-Tag schreiben und mit /> abschließen.
tag
- String, der Bezeichnung des Tags enthältprotected void openAndCloseTag(java.lang.String tag, java.lang.String value)
Mit Attribut versehenes XML-Tag schreiben und mit /> abschließen.
tag
- String, der Bezeichnung des Tags enthältvalue
- String mit Wert des Attributsprotected void openAndCloseTag(java.lang.String tag, java.lang.String value, java.lang.String comment)
Mit Attribut und Kommentar versehenes XML-Tag schreiben und mit /> abschließen.
tag
- String, der Bezeichnung des Tags enthältvalue
- String mit Wert des Attributscomment
- String mit dem Kommentar, der hinter dem Tag ausgegeben wirdprotected void openAndCloseTag(java.lang.String tag, java.lang.String name, java.lang.String value, java.lang.String comment)
Mit besonders benanntem Attribut und Kommentar versehenes XML-Tag schreiben und mit /> abschließen.
tag
- String, der Bezeichnung des Tags enthältname
- String mit Name des Attributsvalue
- String mit Wert des Attributscomment
- String mit dem Kommentar, der hinter dem Tag ausgegeben wirdprotected void openTag(java.lang.String tag)
Öffnendes XML-Tag ausgeben. Die übergebene Bezeichnung wird mit spitzen Klammern umgeben.
tag
- String, der Bezeichnung des Tags enthältprotected void openTag(java.lang.String tag, java.lang.String value)
Mit Attribut versehenes öffnendes XML-Tag ausgeben.
tag
- String, der Bezeichnung des Tags enthältvalue
- String mit Wert des Attributsprotected void openTag(java.lang.String tag, java.lang.String value, java.lang.String length)
Mit Attribut und Länge versehenes öffnendes XML-Tag ausgeben.
tag
- String, der Bezeichnung des Tags enthältvalue
- String mit Wert des Attributslength
- String mit einer Längeninformation, der hinter dem Tag ausgegeben wirdprotected void printData(Data data)
Einen Datensatz ausgeben. Grundsätzlich wird unterschieden zwischen “einfachen” Daten (Eigenschaft isPlain
) und im Gegensatz dazu Feldern und Listen. Zur Ausgabe der letzteren beiden ruft sich diese Methode rekursiv wieder auf.
data
- Data
mit dem Telegrammprotected void printDataKind(ResultData telegram)
Gibt Informationen über die Art der Daten aus. Dies sind im einzelnen Informationen über
telegram
- ResultData
mit dem Datentelegrammprivate java.lang.String xmlText(java.lang.String text)
public void writeBlock(ResultData[] results, long currentTime)
Block, bestehend aus mehreren Telegrammen, ausgeben.
writeBlock
in interface ExtendedProtocollerInterface
results
- ResultData
[] mit den empfangenen ErgebnisdatensätzencurrentTime
- long mit der aktuellen Uhrzeit. Der Block wird in der Ausgabe damit versehen.protected void writeComment(java.lang.String comment)
Zeichenkette als XML-Kommentar ausgeben. Der XML-Kommentar wird durch ein Tabulatorzeichen eingeleitet.
comment
- String mit dem Kommentarprotected void writeTag(java.lang.String tag)
XML-Tag auf Ausgabe-Stream schreiben
tag
- String, der zwischen spitzen Klammern auszugeben istprotected void writeTag(java.lang.String tag, java.lang.String value)
Mit Attribut versehenes XML-Tag auf Ausgabe-Stream schreiben
tag
- String, der zwischen spitzen Klammern auszugeben istvalue
- String mit Wert des Attributsprotected void writeTag(java.lang.String tag, java.lang.String value, java.lang.String counter)
Mit Attribut und Zähler versehenes XML-Tag auf Ausgabe-Stream schreiben
tag
- String, der zwischen spitzen Klammern auszugeben istvalue
- String mit Wert des Attributscounter
- String mit dem Zählerwertprotected void writeTelegram(ResultData telegram)
Ausgabe eines Datentelegramms. Ein Telegramm besteht aus Informationen über die Art der Daten und über die eigentlichen Daten selbst.
telegram
- ResultData
mit dem Datentelegramm