public final class OperatingMessage extends java.lang.Object implements OperatingMessageInterface
Klasse für eine konkrete Betriebsmeldung, die versendet werden kann. Instanzen werden typischerweise über ein MessageTemplate
erzeugt, diese Klasse bietet jedoch auch statische Methoden, mit denen simple Meldungen einfacher erzeugt werden, z. B. info(MessageType, Object, Object...)
oder create(MessageGrade, MessageType, Object, Object...)
.
Modifier and Type | Field and Description |
---|---|
private java.util.Set<java.lang.Object> |
_addonIds
Die Meldungs-Typ-Zusätze dieser Meldung (anwendungsspezifische Meldungs-IDs, z.B.
|
private java.lang.Throwable |
_exception
Exception, die die Meldung verursacht hat (optional)
|
private java.lang.String |
_messageId
Meldungs-ID
|
private SystemObject |
_object
Das Objekt, auf das sich die Meldung bezieht (kann null sein)
|
private MessageTemplate |
_template
Das Template, das zur Erzeugugn dieser Meldugn verwendet wurde
|
private java.util.Map<java.lang.String,java.lang.Object> |
_variables
Die Variablen dieser Meldung
|
private static java.lang.Object |
PLURAL
Markierungsobjekt für Mengen, die trotz einem Element als Plural ausgegeben werden sollen
|
Constructor and Description |
---|
OperatingMessage(MessageTemplate template,
SystemObject object) |
Modifier and Type | Method and Description |
---|---|
void |
add(java.lang.String variable,
java.lang.Object value)
Fügt einer Variable, die als Menge verwendet wird, ein Element hinzu.
|
void |
add(java.lang.String variable,
java.lang.Object value,
boolean forcePlural)
Fügt einer Variable, die als Menge verwendet wird, ein Element hinzu.
|
void |
addId(java.lang.Object value)
Fügt ein Element für den MeldungTypZusatz hinzu.
|
static OperatingMessage |
create(MessageGrade messageGrade,
MessageType messageType,
java.lang.Object message,
java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit angegebenem Level und Typ.
|
static OperatingMessage |
error(MessageType type,
java.lang.Object message,
java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level ERROR.
|
static OperatingMessage |
fatal(MessageType type,
java.lang.Object message,
java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level FATAL.
|
static java.lang.CharSequence |
formatCollection(java.util.Collection<?> param,
java.lang.String joiner,
java.lang.String singular,
java.lang.String plural)
Hilfsfunktion zur Formatierung einer Menge
|
java.lang.Object |
get(java.lang.String variable)
Gibt den aktuellen Wert einer Variablen zurück
|
MessageType |
getDomain()
Gibt die Art der Meldung zurück
|
java.lang.Throwable |
getException()
Gibt die Exception zurück
|
MessageGrade |
getGrade()
Gibt den Grad der Meldung zurück
|
java.lang.String |
getId()
Deprecated.
|
java.util.Set<java.lang.Object> |
getIds()
Gibt die mit
addId(Object) bisher hinzugefügten IDs zurück. |
java.util.logging.Level |
getLevel() |
java.lang.String |
getMessage()
Gibt den Meldungstext zurück
|
java.lang.String |
getMessageId()
Gibt die ID der Betriebsmeldung zurück
Ist die Meldungs-ID ein leerer String, wird eine zufällige eindeutige ID beim Versand der Meldung erzeugt.
|
java.lang.String |
getMessageTypeAddOn()
Gibt den MeldungsTypZusatz zurück
|
SystemObject |
getObject()
Gibt das Systemobjekt, auf das sich die Meldung bezieht, zurück
|
MessageState |
getState()
Gibt den Zustand der Meldung zurück
|
static OperatingMessage |
info(MessageType type,
java.lang.Object message,
java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level INFO.
|
boolean |
isDefined()
Gibt true zurück, wenn alle Variablen und ähnliches definiert sind
|
PersistentOperatingMessage |
newPersistentMessage()
Sendet diese Betriebsmeldung als neue Meldung und gibt ein Objekt zurück, über das die Betriebsmeldung geändert und ggf. wieder gutgemeldet werden kann.
|
PersistentOperatingMessage |
newPersistentMessage(java.lang.String id)
Sendet diese Betriebsmeldung als neue Meldung und gibt ein Objekt zurück, über das die Betriebsmeldung geändert und ggf. wieder gutgemeldet werden kann.
|
void |
put(java.lang.String variable,
java.lang.Object value)
Setzt eine Variable
|
void |
send()
Sendet diese Betriebsmeldung einmal (falls sie definiert ist), sonst passiert nichts.
|
void |
setException(java.lang.Throwable exception)
Setzt bei Bedarf eine Exception, die die Ursache dieser Betriebsmeldung ist
|
void |
setMessageId(java.lang.String messageId)
Setzt die ID der Betriebsmeldung, die dem Zuordnen von Gutmeldung zur Betriebsmeldung dient und auch Grundlage für die Pid des Nachrichten-Objekts sein kann.
|
private static MessageTemplate.OperatingMessageParam |
toParam(java.lang.Object param,
SystemObject[] objectRef,
java.lang.Throwable[] exceptionRef) |
java.lang.String |
toString()
Gibt den Text der Betriebsmeldung zurück.
|
static OperatingMessage |
warning(MessageType type,
java.lang.Object message,
java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level WARNING.
|
private static final java.lang.Object PLURAL
Markierungsobjekt für Mengen, die trotz einem Element als Plural ausgegeben werden sollen
private final java.util.Map<java.lang.String,java.lang.Object> _variables
Die Variablen dieser Meldung
private final MessageTemplate _template
Das Template, das zur Erzeugugn dieser Meldugn verwendet wurde
private final SystemObject _object
Das Objekt, auf das sich die Meldung bezieht (kann null sein)
private final java.util.Set<java.lang.Object> _addonIds
Die Meldungs-Typ-Zusätze dieser Meldung (anwendungsspezifische Meldungs-IDs, z.B. “[DUA-PP-XX05]” für Plausibilitätsprüfunen in DUA)
private java.lang.Throwable _exception
Exception, die die Meldung verursacht hat (optional)
private java.lang.String _messageId
Meldungs-ID
OperatingMessage(MessageTemplate template, SystemObject object)
public static OperatingMessage info(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level INFO. Der Aufruf erfolgt analog zu Debug.info(String, Object)
, es muss aber zusätzlich als ersten Parameter die Meldungsart angegeben werden. Außerdem erlaubt diese Klasse beliebig viele Parameter, so kann z. B. eine Exception gleichzeitig zu einem oder mehreren Objekten ausgegeben werden.
MessageTemplate
verwendet werden. Erkannte Objekt-Typen: MessageTemplate.OperatingMessageParam
siehe MessageTemplate.MessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)
String.valueOf(Object)
in einen String konvertierttype
- Typmessage
- MeldungstextmessageAddOn
- Weiterer Meldungstextpublic static OperatingMessage warning(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level WARNING. Der Aufruf erfolgt analog zu Debug.warning(String)
, es muss aber zusätzlich als ersten Parameter die Meldungsart angegeben werden. Außerdem erlaubt diese Klasse beliebig viele Parameter, so kann z. B. eine Exception gleichzeitig zu einem oder mehreren Objekten ausgegeben werden.
MessageTemplate
verwendet werden. Erkannte Objekt-Typen: MessageTemplate.OperatingMessageParam
siehe MessageTemplate.MessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)
String.valueOf(Object)
in einen String konvertierttype
- Typmessage
- MeldungstextmessageAddOn
- Weiterer Meldungstextpublic static OperatingMessage error(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level ERROR. Der Aufruf erfolgt analog zu Debug.error(String)
, es muss aber zusätzlich als ersten Parameter die Meldungsart angegeben werden. Außerdem erlaubt diese Klasse beliebig viele Parameter, so kann z. B. eine Exception gleichzeitig zu einem oder mehreren Objekten ausgegeben werden.
MessageTemplate
verwendet werden. Erkannte Objekt-Typen: MessageTemplate.OperatingMessageParam
siehe MessageTemplate.MessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)
String.valueOf(Object)
in einen String konvertierttype
- Typmessage
- MeldungstextmessageAddOn
- Weiterer Meldungstextpublic static OperatingMessage fatal(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level FATAL. Der Aufruf erfolgt analog zu Debug.error(String)
, es muss aber zusätzlich als ersten Parameter die Meldungsart angegeben werden. Außerdem erlaubt diese Klasse beliebig viele Parameter, so kann z. B. eine Exception gleichzeitig zu einem oder mehreren Objekten ausgegeben werden.
MessageTemplate
verwendet werden. Erkannte Objekt-Typen: MessageTemplate.OperatingMessageParam
siehe MessageTemplate.MessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)
String.valueOf(Object)
in einen String konvertierttype
- Typmessage
- MeldungstextmessageAddOn
- Weiterer Meldungstextpublic static OperatingMessage create(MessageGrade messageGrade, MessageType messageType, java.lang.Object message, java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit angegebenem Level und Typ.
Diese Methode ist eine Convenience-Methode, die anhand der übergebenen Parameter verschiedene Werte der Betriebsmeldung automatisch errät. So wird beispielsweise das erste übergebene SystemObject als Bezugsobjekt für die Betriebsmeldung interpretiert. Ist ein anderes Verhalten gewünscht, sollte einMessageTemplate
verwendet werden. Erkannte Objekt-Typen: MessageTemplate.OperatingMessageParam
siehe MessageTemplate.MessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)
String.valueOf(Object)
in einen String konvertiertmessageGrade
- Schwere der MeldungmessageType
- Typmessage
- MeldungstextmessageAddOn
- Weiterer Meldungstextprivate static MessageTemplate.OperatingMessageParam toParam(java.lang.Object param, SystemObject[] objectRef, java.lang.Throwable[] exceptionRef)
public static java.lang.CharSequence formatCollection(java.util.Collection<?> param, java.lang.String joiner, java.lang.String singular, java.lang.String plural)
Hilfsfunktion zur Formatierung einer Menge
param
- Mengejoiner
- Verbinder zwischen dem zweitletzten un dem letzten Eintrag. Sinnvoll sind z. B. “, ”, “ und ”, “ sowie ”, …singular
- Singular-Präfixplural
- Plural-Präfixpublic java.lang.Object get(java.lang.String variable)
Gibt den aktuellen Wert einer Variablen zurück
variable
- Variablen-Namepublic void put(java.lang.String variable, java.lang.Object value)
Setzt eine Variable
variable
- Variablen-Namevalue
- Wert (wird zur Ausgabe ggf. mit String.valueOf(Object)
in einen String konvertiert)public void add(java.lang.String variable, java.lang.Object value)
Fügt einer Variable, die als Menge verwendet wird, ein Element hinzu.
variable
- Variablen-Namevalue
- Wert (wird zur Ausgabe ggf. mit String.valueOf(Object)
in einen String konvertiert)public void add(java.lang.String variable, java.lang.Object value, boolean forcePlural)
Fügt einer Variable, die als Menge verwendet wird, ein Element hinzu.
variable
- Variablen-Namevalue
- Wert (wird zur Ausgabe ggf. mit String.valueOf(Object)
in einen String konvertiert)forcePlural
- Soll die Menge auf jeden Fall im Plural ausgegeben werden? (ist sinnvoll, wenn value bereits mehrere Objekte repräsentiert)public void addId(java.lang.Object value)
Fügt ein Element für den MeldungTypZusatz hinzu. Die Anzahl der Zusätze ist beliebig, eine Betriebsmeldung kann keine, eine oder mehrere Zusätze haben. Diese IDs werden im MeldungsTypZusatz publiziert. Es handelt sich nicht um die (IDs
), die zur Verknüpfung von mehreren zusammengehörigen Betriebsmeldungen verwendet werden.
value
- Beliebige MeldungTypZusatz-ID (wird zur Ausgabe ggf. mit String.valueOf(Object)
in einen String konvertiert)public java.util.Set<java.lang.Object> getIds()
Gibt die mit addId(Object)
bisher hinzugefügten IDs zurück.
public java.lang.String toString()
Gibt den Text der Betriebsmeldung zurück. Undefinierte Variablen werden durch den String “[Undefiniert]” ersetzt.
toString
in class java.lang.Object
public boolean isDefined()
Gibt true zurück, wenn alle Variablen und ähnliches definiert sind
public java.lang.String getMessage()
OperatingMessageInterface
Gibt den Meldungstext zurück
getMessage
in interface OperatingMessageInterface
public MessageGrade getGrade()
OperatingMessageInterface
Gibt den Grad der Meldung zurück
getGrade
in interface OperatingMessageInterface
@Deprecated public java.lang.String getId()
OperatingMessageInterface
Gibt die ID der Meldung zurück, zur Zuordnung von mehreren zusammengehörigen Meldungen (z.B. Erst-Meldung und Gutmeldung)
getId
in interface OperatingMessageInterface
public MessageType getDomain()
OperatingMessageInterface
Gibt die Art der Meldung zurück
getDomain
in interface OperatingMessageInterface
public java.lang.String getMessageTypeAddOn()
OperatingMessageInterface
Gibt den MeldungsTypZusatz zurück
getMessageTypeAddOn
in interface OperatingMessageInterface
public SystemObject getObject()
OperatingMessageInterface
Gibt das Systemobjekt, auf das sich die Meldung bezieht, zurück
getObject
in interface OperatingMessageInterface
public MessageState getState()
OperatingMessageInterface
Gibt den Zustand der Meldung zurück
getState
in interface OperatingMessageInterface
public void send()
Sendet diese Betriebsmeldung einmal (falls sie definiert ist), sonst passiert nichts.
public PersistentOperatingMessage newPersistentMessage()
Sendet diese Betriebsmeldung als neue Meldung und gibt ein Objekt zurück, über das die Betriebsmeldung geändert und ggf. wieder gutgemeldet werden kann.
public PersistentOperatingMessage newPersistentMessage(java.lang.String id)
Sendet diese Betriebsmeldung als neue Meldung und gibt ein Objekt zurück, über das die Betriebsmeldung geändert und ggf. wieder gutgemeldet werden kann.
id
- ID zur Identifizierung der Meldungpublic void setException(java.lang.Throwable exception)
Setzt bei Bedarf eine Exception, die die Ursache dieser Betriebsmeldung ist
exception
- Exceptionpublic java.lang.Throwable getException()
Gibt die Exception zurück
getException
in interface OperatingMessageInterface
public void setMessageId(java.lang.String messageId)
Setzt die ID der Betriebsmeldung, die dem Zuordnen von Gutmeldung zur Betriebsmeldung dient und auch Grundlage für die Pid des Nachrichten-Objekts sein kann.
Ist die Meldungs-ID ein leerer String, wird eine zufällige eindeutige ID beim Versand der Meldung erzeugt.
messageId
- Meldungs-IDpublic java.lang.String getMessageId()
Gibt die ID der Betriebsmeldung zurück
Ist die Meldungs-ID ein leerer String, wird eine zufällige eindeutige ID beim Versand der Meldung erzeugt.
getMessageId
in interface OperatingMessageInterface
public java.util.logging.Level getLevel()
getLevel
in interface OperatingMessageInterface