Class OperatingMessage
- java.lang.Object
-
- de.bsvrz.sys.funclib.operatingMessage.OperatingMessage
-
- All Implemented Interfaces:
OperatingMessageInterface
public final class OperatingMessage extends java.lang.Object implements OperatingMessageInterface
Klasse für eine konkrete Betriebsmeldung, die versendet werden kann. Instanzen werden typischerweise über einMessageTemplateerzeugt, diese Klasse bietet jedoch auch statische Methoden, mit denen simple Meldungen einfacher erzeugt werden, z. B.info(MessageType, Object, Object...)odercreate(MessageGrade, MessageType, Object, Object...).
-
-
Method Summary
Modifier and Type Method Description voidadd(java.lang.String variable, java.lang.Object value)Fügt einer Variable, die als Menge verwendet wird, ein Element hinzu.voidadd(java.lang.String variable, java.lang.Object value, boolean forcePlural)Fügt einer Variable, die als Menge verwendet wird, ein Element hinzu.voidaddId(java.lang.Object value)Fügt ein Element für den MeldungTypZusatz hinzu.static OperatingMessagecreate(MessageGrade messageGrade, MessageType messageType, java.lang.Object message, java.lang.Object... messageAddOn)Erzeugt eine neue Betriebsmeldung mit angegebenem Level und Typ.static OperatingMessageerror(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)Erzeugt eine neue Betriebsmeldung mit Level ERROR.static OperatingMessagefatal(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)Erzeugt eine neue Betriebsmeldung mit Level FATAL.static java.lang.CharSequenceformatCollection(java.util.Collection<?> param, java.lang.String joiner, java.lang.String singular, java.lang.String plural)Hilfsfunktion zur Formatierung einer Mengejava.lang.Objectget(java.lang.String variable)Gibt den aktuellen Wert einer Variablen zurückMessageTypegetDomain()Gibt die Art der Meldung zurückjava.lang.ThrowablegetException()Gibt die Exception zurückMessageGradegetGrade()Gibt den Grad der Meldung zurückjava.lang.StringgetId()Deprecated.java.util.Set<java.lang.Object>getIds()Gibt die mitaddId(Object)bisher hinzugefügten IDs zurück.java.util.logging.LevelgetLevel()java.lang.StringgetMessage()Gibt den Meldungstext zurückjava.lang.StringgetMessageId()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.StringgetMessageTypeAddOn()Gibt den MeldungsTypZusatz zurückde.bsvrz.dav.daf.main.config.SystemObjectgetObject()Gibt das Systemobjekt, auf das sich die Meldung bezieht, zurückMessageStategetState()Gibt den Zustand der Meldung zurückstatic OperatingMessageinfo(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)Erzeugt eine neue Betriebsmeldung mit Level INFO.booleanisDefined()Gibttruezurück, wenn alle Variablen und ähnliches definiert sindPersistentOperatingMessagenewPersistentMessage()Sendet diese Betriebsmeldung als neue Meldung und gibt ein Objekt zurück, über das die Betriebsmeldung geändert und ggf. wieder gutgemeldet werden kann.PersistentOperatingMessagenewPersistentMessage(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.voidput(java.lang.String variable, java.lang.Object value)Setzt eine Variablevoidsend()Sendet diese Betriebsmeldung einmal (falls sie definiert ist), sonst passiert nichts.voidsetException(java.lang.Throwable exception)Setzt bei Bedarf eine Exception, die die Ursache dieser Betriebsmeldung istvoidsetMessageId(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.java.lang.StringtoString()Gibt den Text der Betriebsmeldung zurück.static OperatingMessagewarning(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)Erzeugt eine neue Betriebsmeldung mit Level WARNING.
-
-
-
Method Detail
-
info
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 zuDebug.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.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 ein
MessageTemplateverwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParamsieheMessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)- SystemObject - Das erste übergebene SystemObject wird als Bezugsobjekt für die Betriebsmeldung verwendet
- Throwable - Exceptions werden ggf. auf Debug-Ausgaben ausgegeben
- Alle anderen Objekte werden mit
String.valueOf(Object)in einen String konvertiert
- Parameters:
type- Typmessage- MeldungstextmessageAddOn- Weiterer Meldungstext- Returns:
- Betriebsmeldungsobjekt, welches versendet werden kann
-
warning
public static OperatingMessage warning(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level WARNING. Der Aufruf erfolgt analog zuDebug.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.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 ein
MessageTemplateverwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParamsieheMessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)- SystemObject - Das erste übergebene SystemObject wird als Bezugsobjekt für die Betriebsmeldung verwendet
- Throwable - Exceptions werden ggf. auf Debug-Ausgaben ausgegeben
- Alle anderen Objekte werden mit
String.valueOf(Object)in einen String konvertiert
- Parameters:
type- Typmessage- MeldungstextmessageAddOn- Weiterer Meldungstext- Returns:
- Betriebsmeldungsobjekt, welches versendet werden kann
-
error
public static OperatingMessage error(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level ERROR. Der Aufruf erfolgt analog zuDebug.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.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 ein
MessageTemplateverwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParamsieheMessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)- SystemObject - Das erste übergebene SystemObject wird als Bezugsobjekt für die Betriebsmeldung verwendet
- Throwable - Exceptions werden ggf. auf Debug-Ausgaben ausgegeben
- Alle anderen Objekte werden mit
String.valueOf(Object)in einen String konvertiert
- Parameters:
type- Typmessage- MeldungstextmessageAddOn- Weiterer Meldungstext- Returns:
- Betriebsmeldungsobjekt, welches versendet werden kann
-
fatal
public static OperatingMessage fatal(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level FATAL. Der Aufruf erfolgt analog zuDebug.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.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 ein
MessageTemplateverwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParamsieheMessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)- SystemObject - Das erste übergebene SystemObject wird als Bezugsobjekt für die Betriebsmeldung verwendet
- Throwable - Exceptions werden ggf. auf Debug-Ausgaben ausgegeben
- Alle anderen Objekte werden mit
String.valueOf(Object)in einen String konvertiert
- Parameters:
type- Typmessage- MeldungstextmessageAddOn- Weiterer Meldungstext- Returns:
- Betriebsmeldungsobjekt, welches versendet werden kann
-
create
public 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 ein
MessageTemplateverwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParamsieheMessageTemplate(MessageGrade, MessageType, OperatingMessageParam...)- SystemObject - Das erste übergebene SystemObject wird als Bezugsobjekt für die Betriebsmeldung verwendet
- Throwable - Exceptions werden ggf. auf Debug-Ausgaben ausgegeben
- Alle anderen Objekte werden mit
String.valueOf(Object)in einen String konvertiert
- Parameters:
messageGrade- Schwere der MeldungmessageType- Typmessage- MeldungstextmessageAddOn- Weiterer Meldungstext- Returns:
- Betriebsmeldungsobjekt, welches versendet werden kann
-
formatCollection
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- Parameters:
param- Mengejoiner- Verbinder zwischen dem zweitletzten un dem letzten Eintrag. Sinnvoll sind z. B. ", ", " und ", " sowie ", ...singular- Singular-Präfixplural- Plural-Präfix- Returns:
- Verketteter Text
-
get
public java.lang.Object get(java.lang.String variable)
Gibt den aktuellen Wert einer Variablen zurück- Parameters:
variable- Variablen-Name- Returns:
- den aktuellen Wert einer Variablen
-
put
public void put(java.lang.String variable, java.lang.Object value)Setzt eine Variable- Parameters:
variable- Variablen-Namevalue- Wert (wird zur Ausgabe ggf. mitString.valueOf(Object)in einen String konvertiert)
-
add
public void add(java.lang.String variable, java.lang.Object value)Fügt einer Variable, die als Menge verwendet wird, ein Element hinzu.- Parameters:
variable- Variablen-Namevalue- Wert (wird zur Ausgabe ggf. mitString.valueOf(Object)in einen String konvertiert)
-
add
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.- Parameters:
variable- Variablen-Namevalue- Wert (wird zur Ausgabe ggf. mitString.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)
-
addId
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.- Parameters:
value- Beliebige MeldungTypZusatz-ID (wird zur Ausgabe ggf. mitString.valueOf(Object)in einen String konvertiert)
-
getIds
public java.util.Set<java.lang.Object> getIds()
Gibt die mitaddId(Object)bisher hinzugefügten IDs zurück.- Returns:
- Menge mit IDs.
-
toString
public java.lang.String toString()
Gibt den Text der Betriebsmeldung zurück. Undefinierte Variablen werden durch den String "[Undefiniert]" ersetzt.- Overrides:
toStringin classjava.lang.Object- Returns:
- Betriebsmeldungstext
-
isDefined
public boolean isDefined()
Gibttruezurück, wenn alle Variablen und ähnliches definiert sind- Returns:
true, wenn alle Variablen und ähnliches definiert sind, sonstfalse
-
getMessage
public java.lang.String getMessage()
Description copied from interface:OperatingMessageInterfaceGibt den Meldungstext zurück- Specified by:
getMessagein interfaceOperatingMessageInterface- Returns:
- den Meldungstext
-
getGrade
public MessageGrade getGrade()
Description copied from interface:OperatingMessageInterfaceGibt den Grad der Meldung zurück- Specified by:
getGradein interfaceOperatingMessageInterface- Returns:
- den Grad der Meldung
-
getId
@Deprecated public java.lang.String getId()
Deprecated.Description copied from interface:OperatingMessageInterfaceGibt die ID der Meldung zurück, zur Zuordnung von mehreren zusammengehörigen Meldungen (z.B. Erst-Meldung und Gutmeldung)- Specified by:
getIdin interfaceOperatingMessageInterface- Returns:
- die ID der Meldung
-
getDomain
public MessageType getDomain()
Description copied from interface:OperatingMessageInterfaceGibt die Art der Meldung zurück- Specified by:
getDomainin interfaceOperatingMessageInterface- Returns:
- die Art der Meldung
-
getMessageTypeAddOn
public java.lang.String getMessageTypeAddOn()
Description copied from interface:OperatingMessageInterfaceGibt den MeldungsTypZusatz zurück- Specified by:
getMessageTypeAddOnin interfaceOperatingMessageInterface- Returns:
- den MeldungsTypZusatz
-
getObject
public de.bsvrz.dav.daf.main.config.SystemObject getObject()
Description copied from interface:OperatingMessageInterfaceGibt das Systemobjekt, auf das sich die Meldung bezieht, zurück- Specified by:
getObjectin interfaceOperatingMessageInterface- Returns:
- das Systemobjekt, auf das sich die Meldung bezieht, oder null falls nicht definiert
-
getState
public MessageState getState()
Description copied from interface:OperatingMessageInterfaceGibt den Zustand der Meldung zurück- Specified by:
getStatein interfaceOperatingMessageInterface- Returns:
- den Zustand der Meldung
-
send
public void send()
Sendet diese Betriebsmeldung einmal (falls sie definiert ist), sonst passiert nichts.
-
newPersistentMessage
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.- Returns:
- Persistente Betriebsmeldung oder null wenn die Betriebsmeldung nicht definiert ist
-
newPersistentMessage
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.- Parameters:
id- ID zur Identifizierung der Meldung- Returns:
- Persistente Betriebsmeldung oder null wenn die Betriebsmeldung nicht definiert ist
-
setException
public void setException(java.lang.Throwable exception)
Setzt bei Bedarf eine Exception, die die Ursache dieser Betriebsmeldung ist- Parameters:
exception- Exception
-
getException
public java.lang.Throwable getException()
Gibt die Exception zurück- Specified by:
getExceptionin interfaceOperatingMessageInterface- Returns:
- die Exception
-
setMessageId
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.- Parameters:
messageId- Meldungs-ID
-
getMessageId
public 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.- Specified by:
getMessageIdin interfaceOperatingMessageInterface- Returns:
- die ID der Betriebsmeldung, die dem Zuordnen von Gutmeldung zur Betriebsmeldung dient und auch Grundlage für die Pid des Nachrichten-Objekts sein kann.
-
getLevel
public java.util.logging.Level getLevel()
- Specified by:
getLevelin interfaceOperatingMessageInterface
-
-