Class MessageTemplate
public class MessageTemplate
extends java.lang.Object
MessageTemplate template = new MessageTemplate( MessageGrade.INFORMATION, MessageType.APPLICATION_DOMAIN, MessageTemplate.fixed("Der Fahrstreifen "), MessageTemplate.object(), MessageTemplate.fixed(" enthält fehlerhafte Daten "), MessageTemplate.set("attr", " und ", "im Attribut ", "in den Attributen "), MessageTemplate.fixed(".") );
final SystemObject fahrstreifen = ...; OperatingMessage operatingMessage = template.newMessage(fahrstreifen); operatingMessage.add("attr", "qKfz"); operatingMessage.add("attr", "qPkw"); operatingMessage.add("attr", "qB"); operatingMessage.send();
Mit Ausgabe
operatingMessage = Der Fahrstreifen fs.test enthält fehlerhafte Daten in den Attributen qKfz, qPkw und qB.
und Versand einer entsprechenden Betriebsmeldung.
Folgende Methoden erzeugen Parameter-Bausteine:
- `fixed(String)`, ein fester String. - `variable(String)`, eine mit einem beliebigen String oder Objekt befüllbare Variable. (Siehe OperatingMessage.put(String, Object)
) - `set(String, String)`, eine Variable, mit mit einer Menge von Objekten befüllt wird. Die doppelte Angabe
eines Objekts wird automatisch verhindert, Objekte werden in der Reihenfolge ausgegeben, wie sie eingefügt werden. Optional können hier 2 weitere
Parameter angegeben werden, mit denen ein Singular und Plural-Präfix definiert werden kann. (Siehe OperatingMessage.add(String, Object)
) -
`object()`, fügt eine Referenz auf das Systemobjekt ein, auf das sich die Meldung bezieht. (Siehe newMessage(SystemObject)
) - `ids()`,
Eine spezielle Mengen-Variable, die Kennungen der Betriebsmeldung enthält. Die IDs werden im MeldungsTypZusatz publiziert. (Siehe OperatingMessage.addId(Object)
)
Diese Klasse sowie die hier definierten OperatingMessageParam-Instanzen sind unveränderlich und threadsafe.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MessageTemplate.OperatingMessageParam
Abstrakte Klasse für einen Textbaustein -
Constructor Summary
Constructors Constructor Description MessageTemplate(MessageGrade grade, MessageType domain, MessageTemplate.OperatingMessageParam... text)
Erzeugt eine neue Betriebsmeldungs-Text-Vorlage -
Method Summary
Modifier and Type Method Description static MessageTemplate.OperatingMessageParam
fixed(java.lang.String s)
Erstellt einen festen String-Wert als TextbausteinMessageType
getDomain()
Gibt die Art der Meldung zurückMessageGrade
getGrade()
Gibt die Schwere der Meldung zurückjava.util.logging.Level
getLevel()
Gibt den Level zurück, mit dem erzeugte Meldungen beim Versand über die Debug-Funktionen ausgegeben werden sollen.java.util.List<MessageTemplate.OperatingMessageParam>
getParams()
Gibt die Textbausteine dieses Objekts zurückstatic MessageTemplate.OperatingMessageParam
ids()
Erstellt einen neuen Platzhalter für die der Meldung zugeordneten Kennungen (MeldungsTypZusatz).OperatingMessage
newMessage(de.bsvrz.dav.daf.main.config.SystemObject systemObject)
Erstellt aus der Vorlage ein neues Betriebsmeldungs-Objekt, das mit konkreten Werten gefüllt und dann versand werden kannstatic MessageTemplate.OperatingMessageParam
object()
Erstellt einen neuen Platzhalter für das Objekt, auf das sich die Betriebsmeldung beziehtstatic MessageTemplate.OperatingMessageParam
set(java.lang.String variable, java.lang.String joiner)
Erstellt einen neuen Platzhalter für eine Mengestatic MessageTemplate.OperatingMessageParam
set(java.lang.String variable, java.lang.String joiner, java.lang.String singular, java.lang.String plural)
Erstellt einen neuen Platzhalter für eine Mengejava.lang.String
toString()
static MessageTemplate.OperatingMessageParam
variable(java.lang.String variable)
Erstellt einen neuen Platzhalter für eine einfache VariableMessageTemplate
withDebugLevel(java.util.logging.Level level)
Gibt eine Kopie dieses Objekts zurück, welches den übergebenen Debug-Level für die Debug-Meldung verwendet (standardmäßig INFO)MessageTemplate
withIdFactory(MessageIdFactory factory)
Gibt eine Kopie dieses Objekts zurück, welches den übergebenen Lambda-Ausdruck zur Erzeugung einer Betriebsmeldungs-ID verwendetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
MessageTemplate
public MessageTemplate(MessageGrade grade, MessageType domain, MessageTemplate.OperatingMessageParam... text)Erzeugt eine neue Betriebsmeldungs-Text-Vorlage- Parameters:
grade
- Schwere der Meldungdomain
- Art der Meldungtext
- Textbestandteile, die verkettet werden. Zur Erzeugung der einzelnenMessageTemplate.OperatingMessageParam
-Instanzen können die statischen Methoden in dieser Klasse benutzt werden.
-
-
Method Details
-
set
public static MessageTemplate.OperatingMessageParam set(java.lang.String variable, java.lang.String joiner)Erstellt einen neuen Platzhalter für eine Menge- Parameters:
variable
- Variablennamejoiner
- Verbinder zwischen dem zweitletzen un dem letzten Eintrag. Sinnvoll sind z. B. ", ", " und ", " sowie ", ...- Returns:
- Ein OperatingMessageParam-Objekt das im Konstruktor verwendet werden kann.
-
set
public static MessageTemplate.OperatingMessageParam set(java.lang.String variable, java.lang.String joiner, java.lang.String singular, java.lang.String plural)Erstellt einen neuen Platzhalter für eine Menge- Parameters:
variable
- Variablennamejoiner
- Verbinder zwischen dem zweitletzten un dem letzten Eintrag. Sinnvoll sind z. B. ", ", " und ", " sowie ", ...singular
- Singular-Präfixplural
- Plural-Präfix- Returns:
- Ein OperatingMessageParam-Objekt das im Konstruktor verwendet werden kann.
-
fixed
Erstellt einen festen String-Wert als Textbaustein- Parameters:
s
- Text- Returns:
- Ein OperatingMessageParam-Objekt das im Konstruktor verwendet werden kann.
-
variable
Erstellt einen neuen Platzhalter für eine einfache Variable- Parameters:
variable
- Variablenname- Returns:
- Ein OperatingMessageParam-Objekt das im Konstruktor verwendet werden kann.
-
object
Erstellt einen neuen Platzhalter für das Objekt, auf das sich die Betriebsmeldung bezieht- Returns:
- Ein OperatingMessageParam-Objekt das im Konstruktor verwendet werden kann.
-
ids
Erstellt einen neuen Platzhalter für die der Meldung zugeordneten Kennungen (MeldungsTypZusatz). Nicht identisch mit der Meldungs-ID, die zur Verknüpfung von Meldungen verwendet wird.- Returns:
- Ein OperatingMessageParam-Objekt das im Konstruktor verwendet werden kann.
-
withIdFactory
Gibt eine Kopie dieses Objekts zurück, welches den übergebenen Lambda-Ausdruck zur Erzeugung einer Betriebsmeldungs-ID verwendet- Parameters:
factory
- Lambda-Ausdruck o.ä. zur Erzeugung der Meldungs-ID- Returns:
- MessageTemplate
-
withDebugLevel
Gibt eine Kopie dieses Objekts zurück, welches den übergebenen Debug-Level für die Debug-Meldung verwendet (standardmäßig INFO)- Parameters:
level
- Debug-Level- Returns:
- MessageTemplate
-
getParams
Gibt die Textbausteine dieses Objekts zurück- Returns:
- die im Konstruktor übergebenen Textbausteine dieses Objekts
-
getGrade
Gibt die Schwere der Meldung zurück- Returns:
- die Schwere der Meldung
-
getDomain
Gibt die Art der Meldung zurück- Returns:
- die Art der Meldung
-
newMessage
Erstellt aus der Vorlage ein neues Betriebsmeldungs-Objekt, das mit konkreten Werten gefüllt und dann versand werden kann- Parameters:
systemObject
- Objekt, auf das sich die Meldung bezieht (null ist erlaubt wodurch es dann kein Bezugsobjekt gibt)- Returns:
- Betriebsmeldungs-Objekt
-
getLevel
public java.util.logging.Level getLevel()Gibt den Level zurück, mit dem erzeugte Meldungen beim Versand über die Debug-Funktionen ausgegeben werden sollen.Mit
Debug.OFF
kann die Ausgabe über Debug deaktiviert werden, dann wird nur die Meldung über den Datenverteiler versendet- Returns:
- den Level
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-