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 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...).
  • Method Summary

    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 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
    java.lang.String getMessageTypeAddOn()
    Gibt den MeldungsTypZusatz zurück
    de.bsvrz.dav.daf.main.config.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.
    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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Method Details

    • 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 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.

      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:

      Parameters:
      type - Typ
      message - Meldungstext
      messageAddOn - 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 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.

      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:

      Parameters:
      type - Typ
      message - Meldungstext
      messageAddOn - 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 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.

      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:

      Parameters:
      type - Typ
      message - Meldungstext
      messageAddOn - 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 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.

      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:

      Parameters:
      type - Typ
      message - Meldungstext
      messageAddOn - 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:

      Parameters:
      messageGrade - Schwere der Meldung
      messageType - Typ
      message - Meldungstext
      messageAddOn - 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 - Menge
      joiner - Verbinder zwischen dem zweitletzten un dem letzten Eintrag. Sinnvoll sind z. B. ", ", " und ", " sowie ", ...
      singular - Singular-Präfix
      plural - 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-Name
      value - Wert (wird zur Ausgabe ggf. mit String.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-Name
      value - Wert (wird zur Ausgabe ggf. mit String.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-Name
      value - 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)
    • 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. mit String.valueOf(Object) in einen String konvertiert)
    • getIds

      public java.util.Set<java.lang.Object> getIds()
      Gibt die mit addId(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 class java.lang.Object
      Returns:
      Betriebsmeldungstext
    • isDefined

      public boolean isDefined()
      Gibt true zurück, wenn alle Variablen und ähnliches definiert sind
      Returns:
      true, wenn alle Variablen und ähnliches definiert sind, sonst false
    • getMessage

      public java.lang.String getMessage()
      Description copied from interface: OperatingMessageInterface
      Gibt den Meldungstext zurück
      Specified by:
      getMessage in interface OperatingMessageInterface
      Returns:
      den Meldungstext
    • getGrade

      public MessageGrade getGrade()
      Description copied from interface: OperatingMessageInterface
      Gibt den Grad der Meldung zurück
      Specified by:
      getGrade in interface OperatingMessageInterface
      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 interface OperatingMessageInterface
      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 interface OperatingMessageInterface
      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 interface OperatingMessageInterface
      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 interface OperatingMessageInterface
      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 interface OperatingMessageInterface
      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 interface OperatingMessageInterface
      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ück

      Ist die Meldungs-ID ein leerer String, wird eine zufällige eindeutige ID beim Versand der Meldung erzeugt.

      Specified by:
      getMessageId in interface OperatingMessageInterface
      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 interface OperatingMessageInterface