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 einMessageTemplate
erzeugt, 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
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method 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 Mengejava.lang.Object
get(java.lang.String variable)
Gibt den aktuellen Wert einer Variablen zurückMessageType
getDomain()
Gibt die Art der Meldung zurückjava.lang.Throwable
getException()
Gibt die Exception zurückMessageGrade
getGrade()
Gibt den Grad der Meldung zurückjava.lang.String
getId()
Deprecated.java.util.Set<java.lang.Object>
getIds()
Gibt die mitaddId(Object)
bisher hinzugefügten IDs zurück.java.util.logging.Level
getLevel()
java.lang.String
getMessage()
Gibt den Meldungstext zurückjava.lang.String
getMessageId()
Gibt die ID der Betriebsmeldung zurückjava.lang.String
getMessageTypeAddOn()
Gibt den MeldungsTypZusatz zurückde.bsvrz.dav.daf.main.config.SystemObject
getObject()
Gibt das Systemobjekt, auf das sich die Meldung bezieht, zurückMessageState
getState()
Gibt den Zustand der Meldung zurückstatic OperatingMessage
info(MessageType type, java.lang.Object message, java.lang.Object... messageAddOn)
Erzeugt eine neue Betriebsmeldung mit Level INFO.boolean
isDefined()
Gibttrue
zurück, wenn alle Variablen und ähnliches definiert sindPersistentOperatingMessage
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 Variablevoid
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 istvoid
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.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.
-
-
-
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
MessageTemplate
verwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParam
sieheMessageTemplate(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
MessageTemplate
verwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParam
sieheMessageTemplate(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
MessageTemplate
verwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParam
sieheMessageTemplate(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
MessageTemplate
verwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParam
sieheMessageTemplate(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
MessageTemplate
verwendet werden.Erkannte Objekt-Typen:
MessageTemplate.OperatingMessageParam
sieheMessageTemplate(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:
toString
in classjava.lang.Object
- Returns:
- Betriebsmeldungstext
-
isDefined
public boolean isDefined()
Gibttrue
zurü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:OperatingMessageInterface
Gibt den Meldungstext zurück- Specified by:
getMessage
in interfaceOperatingMessageInterface
- Returns:
- den Meldungstext
-
getGrade
public MessageGrade getGrade()
Description copied from interface:OperatingMessageInterface
Gibt den Grad der Meldung zurück- Specified by:
getGrade
in interfaceOperatingMessageInterface
- Returns:
- den Grad der Meldung
-
getId
@Deprecated public java.lang.String getId()
Deprecated.Description copied from interface:OperatingMessageInterface
Gibt die ID der Meldung zurück, zur Zuordnung von mehreren zusammengehörigen Meldungen (z.B. Erst-Meldung und Gutmeldung)- Specified by:
getId
in interfaceOperatingMessageInterface
- Returns:
- die ID der Meldung
-
getDomain
public MessageType getDomain()
Description copied from interface:OperatingMessageInterface
Gibt die Art der Meldung zurück- Specified by:
getDomain
in interfaceOperatingMessageInterface
- Returns:
- die Art der Meldung
-
getMessageTypeAddOn
public java.lang.String getMessageTypeAddOn()
Description copied from interface:OperatingMessageInterface
Gibt den MeldungsTypZusatz zurück- Specified by:
getMessageTypeAddOn
in interfaceOperatingMessageInterface
- Returns:
- den MeldungsTypZusatz
-
getObject
public de.bsvrz.dav.daf.main.config.SystemObject getObject()
Description copied from interface:OperatingMessageInterface
Gibt das Systemobjekt, auf das sich die Meldung bezieht, zurück- Specified by:
getObject
in interfaceOperatingMessageInterface
- Returns:
- das Systemobjekt, auf das sich die Meldung bezieht, oder null falls nicht definiert
-
getState
public MessageState getState()
Description copied from interface:OperatingMessageInterface
Gibt den Zustand der Meldung zurück- Specified by:
getState
in 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
-
getException
public java.lang.Throwable getException()
Gibt die Exception zurück- Specified by:
getException
in interfaceOperatingMessageInterface
- Returns:
- die Exception
-
setException
public void setException(java.lang.Throwable exception)
Setzt bei Bedarf eine Exception, die die Ursache dieser Betriebsmeldung ist- Parameters:
exception
- Exception
-
getMessageId
public java.lang.String getMessageId()
Gibt die ID der Betriebsmeldung zurückIst die Meldungs-ID ein leerer String, wird eine zufällige eindeutige ID beim Versand der Meldung erzeugt.
- Specified by:
getMessageId
in 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.
-
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
-
getLevel
public java.util.logging.Level getLevel()
- Specified by:
getLevel
in interfaceOperatingMessageInterface
-
-