Diese Funktionalitäten sollen die Gestaltung der Frontends unterstützen.
Ab MyCoRe 2.1 gibt es die neue Klasse MCRTextResolver. Diese ermöglicht es frei definierbare Variablen und MyCoRe-Properties (im folgenden unter dem Begriff Variablen zusammengefasst) in Texten aufzulösen. Hierzu ein kleines Beispiel:
|
|
Würde man diesen Text innerhalb des DocPortal Projekts mit dem MCRTextResolver auflösen, entsteht folgender Text: „Ich programmiere in DocPortal“. Inhalte in geschweiften Klammern werden vom MCRTextResolver als Variablen erkannt und entsprechend aufgelöst.
Bedingungen – eckige Klammern []
Eckige Klammern ermöglichen es Variablenbedingung zu definieren. Der gesamte Inhalt in eckigen Klammern wird nur dann verwendet, wenn alle enthaltenen Variablen nicht null und nicht leer sind. Als Beispiel soll „[Mein Nachname ist {lastname}].“ dienen. Der gesamte Inhalt wird nur aufgelöst, wenn die Variable lastname existiert. Andernfalls wird der Inhalt ignoriert.
Eine valide Datums Angabe könnte damit zum Beispiel folgendermaßen realisiert werden: „{year}[-{month}[-{day}]]“.
Escaping - \
Der MCRTextResolver unterstützt Escaping um vordefinierte Symbole wie {}[] zu maskieren.
API
Der Zugriff über die API ist denkbar einfach:
|
|
Variablen können entweder mit Hilfe einer Map an den Konstruktor übergeben, oder per addVariable(name, value) gesetzt werden.
|
|
TODO: Input von Matthias einarbeiten