Methoden in den Expertenregeln

Komponente

Klasse

Component

Basisklasse, deren Methoden allen Komponenten zur Verfügung stehen.

setIdentifier(identifier: String)

Ändert die "Bezeichnung technisch" einer Komponente zur Laufzeit. Kann zum Beispiel genutzt werden um die XML-Tags in unserem proprietären XML anzupassen

Beispiel: setIdentifier(identifier: String)
$component.setIdentifier("neueBezeichnungTechnisch")
getIdentifier(): String

Liefert die "Bezeichnung technisch" einer Komponente. Nutzbar um eine Komponente in einer Liste von Komponenten zu identifizieren

Beispiel: getIdentifier(): String
List<Component> components = $panel.getComponents()
for (Component c : components){
    if("gesuchterIdentifier".equals(c.getIdentifier())){
        //Do something
    }
}
setPdfRenderOption(pdfRenderOption: PdfRenderOption)

Ändert "Anzeige im PDF" zur Laufzeit
Mögliche Werte: RENDERED, NOT_RENDERED, RENDERED_IF_FILLED
Es wird ein Import benötigt:
import de.formsolutions.metaform.enums.PdfRenderOption

Beispiel: setPdfRenderOption(pdfRenderOption: PdfRenderOption)
$component.setPdfRenderOption(PdfRenderOption.RENDERED);
getPdfRenderOption(): PdfRenderOption

Liefert die PdfRenderOption der Componente
Es wird ein Import benötigt:
import de.formsolutions.metaform.enums.PdfRenderOption

Beispiel: getPdfRenderOption(): PdfRenderOption
boolean fieldRenderedInPdf = PdfRenderOption.RENDERED.equals($component.getPdfRenderOption());
setAssistantRenderOption(assistantRenderOption: AssistantRenderOption)

Ändert "Anzeige im Assistent" zur Laufzeit
Mögliche Werte: RENDERED, NOT_RENDERED
Es wird ein Import benötigt:
import de.formsolutions.metaform.enums.AssistantRenderOption

Beispiel: setAssistantRenderOption(assistantRenderOption: AssistantRenderOption)
$component.setAssistantRenderOption(AssistantRenderOption.RENDERED);
getAssistantRenderOption(): AssistantRenderOption

Liefert die AssistantRenderOption
Es wird ein Import benötigt:
import de.formsolutions.metaform.enums.AssistantRenderOption

Beispiel: getAssistantRenderOption(): AssistantRenderOption
boolean fieldIsHidden = AssistantRenderOption.NOT_RENDERED.equals($component.getAssistantRenderOption());
setTemplateRenderOption(templateRenderOption: TemplateRenderOption)

Ändert "Anzeige in der Druckvorlage"
Es wird ein Import benötigt:
import de.formsolutions.metaform.enums.TemplateRenderOption

getTemplateRenderOption(): TemplateRenderOption

Liefert den Status von "Anzeige in der Druckvorlage"
Es wird ein Import benötigt:
import de.formsolutions.metaform.enums.TemplateRenderOption

setWidth(width: FieldWidth)

Ändert die Breite eines Feldes zur Laufzeit. Mögliche Werte:
FULL, FOUR_FIFTH, THREE_QUARTERS, TWO_THIRDS, THREE_FIFTH, HALF, TWO_FIFTH, ONE_THIRD, ONE_QUARTER, ONE_FIFTH

Benötigt Import:
import de.formsolutions.util.FieldWidth

Beispiel: setWidth(width: FieldWidth)
$component.setWidth(FieldWidth.TWO_THIRDS);
getWidth(): FieldWidth

Liefert die Breite eines Feldes zur Laufzeit.

Benötigt Import:
import de.formsolutions.util.FieldWidth

setNeeded(needed: Boolean)

Setzt Sichtbarkeit zur Laufzeit

Beispiel: setNeeded(needed: Boolean)
//Einblenden einer Komponente
$component.setNeeded(true);
//Ausblenden
$component.setNeeded(false);
isNeeded(): Boolean

Liefert Sichtbarkeit zur Laufzeit

Beispiel: isNeeded(): Boolean
boolean componentIsVisible = $component.isNeeded();
//true => sichtbar, false => nicht sichtbar
setNeededValueHasChanged(neededValueHasChanged: Boolean)

Updated bei Bedarf den Status der Komponente, damit diese dynamisch auf Änderungen auf dem gleichen Panel reagieren kann.

Beispiel: setNeededValueHasChanged(neededValueHasChanged: Boolean)
//Übertrag des Wertes von $component2 auf $component mit dynamischer Anzeige
boolean oldValue = $component.getStringValue();
$component.setStringValue($componen2.getStringValue());
boolean newValue = $component.getStringValue();
if(oldValue != newValue){
    $component.setNeededValueHasChanged(true);
}
setStringValue(value: String)

Der Klassiker: Setzt einen Wert in eine Komponente in der Bürgersicht

Beispiel: setStringValue(value: String)
$component.setStringValue("HelloWorld!");
getStringValue(): String

Extrahiert einen Wert aus der Bürgersicht

Beispiel: getStringValue(): String
String Buergereingabe = $component.getStringValue();

Kontrollkästchen

Klasse

Checkbox

setChecked(checked: Boolean)

Mittels "true" wird der Haken im Kontrollkästchen gesetzt, bei "false" entfernt

Beispiel: setChecked(checked: Boolean)
((Checkbox) $component).setChecked(true);
((Checkbox) $component).setChecked(false);
isChecked(): Boolean

Prüft, ob das Kontrollkästchen angehakt wurde

Beispiel 1: isChecked(): Boolean
boolean value = ((Checkbox) $component).isChecked();
Beispiel 2: isChecked(): Boolean
if( ((Checkbox) $component).isChecked() ){
    //Do something
}

Objektgruppe

Klasse

Compositecomponent

isRequired(required: Boolean)

Definiert ob die Objektgruppe eine Pflichtgruppe sein soll

Beispiel: setRequired(required: Boolean)
((Compositecomponent) $component).setRequired(true);
getRequired(): Boolean

Prüft ob die Objektgruppe verpflichtend ist

Beispiel: getRequired(): Boolean
boolean required = ((Compositecomponent) $VARIABLENNAME).getRequired();
setTitleI18n(labelI18n: I18n)

Entfernt - ersetzt durch setPublicLabel(publicLabel: String). Aufrufe müssen aus Bestandsregeln entfernt werden, das diese sonst nicht ausgeführt werden können.
getTitleI18n()

Entfernt - ersetzt durch getPublicLabel(). Aufrufe müssen aus Bestandsregeln entfernt werden, das diese sonst nicht ausgeführt werden können.
setLegendI18n(labelI18n: I18n)

Definiert den Text der öffentlichen Bezeichnung

Veraltet – ersetzt durch setPublicLabel(publicLabel: String). Die Methode existiert nur noch als Kompatibilitäts-Schicht, damit bereits gespeicherte Regeln weiterhin kompilieren. Intern wird ausschließlich der deutsche Wert ("de") des übergebenen I18n übernommen, alle anderen Sprachen werden verworfen. Bitte in neuen Regeln nicht mehr verwenden.
Beispiel: setLegendI18n(labelI18n: I18n)
I18n i18n = new I18n();

i18n.addI18nItem("de", "Beispielwert");

((Compositecomponent) $VARIABLENNAME).setLegendI18n(i18n);
getLegendI18n(): I18n

gibt den Wert der öffentlichen Bezeichnung zurück

Veraltet – ersetzt durch getPublicLabel(): String. Die Methode existiert nur noch als Kompatibilitäts-Schicht und liefert ein I18n, das den deutschen Wert der öffentlichen Bezeichnung enthält (nie null). Bitte in neuen Regeln nicht mehr verwenden.
Beispiel: getLegendI18n(): I18n
I18n i18n = ((Compositecomponent) $VARIABLENNAME).getLegendI18n();

String label = i18n.getI18nItem("de");
setPublicLabel(publicLabel: String)

Definiert den Text der öffentlichen Bezeichnung. Nachfolger von setLegendI18n(labelI18n: I18n)

Neu in Version 4.114.0
Beispiel: setPublicLabel(publicLabel: String)
((Compositecomponent) $VARIABLENNAME).setPublicLabel("Beispielwert");
getPublicLabel(): String

gibt den Wert der öffentlichen Bezeichnung zurück. Nachfolger von getLegendI18n(): I18n

Neu in Version 4.114.0
Beispiel: getPublicLabel(): String
String label = ((Compositecomponent) $VARIABLENNAME).getPublicLabel();
setComponents(components: List<Component>)

Setzt eine Liste von Komponenten in eine Objektgruppe

Beispiel: setComponents(components: List<Component>)
((Compositecomponent) $objektgruppe).setComponents(List<Component> components);
getComponents(): List<Component>

Liefert alle Komponenten, die in der Objektgruppe sind

Beispiel: getComponents(): List<Component>
+List<Component>+ components = ((Compositecomponent) $objektgruppe).getComponents();

Autovervollständigung

Klasse

AutoCompletionComponent

erbt von

Compositecomponent

setAutoCompletionType(autoCompletionType: AutoCompletionType)

getAutoCompletionType(): AutoCompletionType

setAutoCompletionValidationType(autoCompletionValidationType: AutoCompletionValidationType)

getAutoCompletionValidationType(): AutoCompletionValidationType

setAutoCompleteServiceName(autoCompleteServiceName: String)

getAutoCompleteServiceName(): String

setDataListId(dataListId: String)

getDataListId(): String

getMapping(): Map<String, AutoCompletionField>

Verstecktes Feld

Klasse

Constantvalue

erbt von

Input

setValue(value: String)

Setzt den Wert des versteckten Feldes

getValue(): String

Ruft den Wert des versteckten Feldes ab

Datei-Hochladen

Klasse

Fileupload

erbt von

Input

setMaxSize(maxSize: double)

Setzt maximale Dateigröße in MB

getMaxSize(): double

Ruft maximale Dateigröße in MB ab

setFilename(filename: String)

Ändert den Dateinamen der hochgeladenen Datei

getFilename(): String

Liefert den Dateinamen der hochgeladenen Datei

setContentType(contentType: String)

getContentType(): String

I18n

Zur Verwendung in Komponenten

Die komplette Klasse I18n ist veraltet. Alle mehrsprachigen Beschriftungs-Felder der Komponenten wurden durch einfache String-Felder mit dem deutschen Wert ersetzt (z. B. labelI18npublicLabel, hintI18nhint, textI18ntext, placeholderI18nplaceholder, i18ntitle bzw. publicLabel). Die im Folgenden beschriebenen Methoden sowie alle get...I18n()/set...I18n(I18n)-Methoden der Komponenten existieren nur noch als Kompatibilitäts-Schicht für bereits gespeicherte Regeln. In neuen Regeln bitte durchgängig die String-Methoden verwenden.
setKey(key: String)

getKey(): String

setI18nItems(i18nItems: Map<String, String>)

getI18nItems(): Map<String, String>

addI18nItem(language: String, value: String)

getI18nItem(language: String): String

getI18nItem(locale: Locale): String

Input

Klasse

Input

erbt von

Component

Basisklasse, deren Methoden allen erbenden Klassen zur Verfügung stehen.

setHintI18n(hintI18n: I18n)

Setzt den Hinweistext des Feldes

Veraltet – ersetzt durch setHint(hint: String). Nur noch Kompatibilitäts-Schicht; es wird ausschließlich der deutsche Wert ("de") übernommen.
getHintI18n(): I18n

Liefert den Hinweistext als I18n

Veraltet – ersetzt durch getHint(): String. Nur noch Kompatibilitäts-Schicht; liefert ein I18n mit dem deutschen Hinweistext.
setHint(hint: String)

Setzt den Hinweistext des Feldes. Nachfolger von setHintI18n(hintI18n: I18n)

Neu in Version 4.114.0
Beispiel: setHint(hint: String)
((Input) $component).setHint("Bitte tragen Sie hier Ihren Vornamen ein.");
getHint(): String

Liefert den Hinweistext des Feldes. Nachfolger von getHintI18n(): I18n

Neu in Version 4.114.0
Beispiel: getHint(): String
String hinweis = ((Input) $component).getHint();
setLabelI18n(labelI18n: I18n)

Setzt die Beschriftung des Feldes

Veraltet – ersetzt durch setPublicLabel(publicLabel: String). Nur noch Kompatibilitäts-Schicht; es wird ausschließlich der deutsche Wert ("de") übernommen.
getLabelI18n(): I18n

Liefert die Beschriftung des Feldes

Veraltet – ersetzt durch getPublicLabel(): String. Nur noch Kompatibilitäts-Schicht; liefert ein I18n mit der deutschen Beschriftung.
setPublicLabel(publicLabel: String)

Setzt die Beschriftung ("öffentliche Bezeichnung") des Feldes. Nachfolger von setLabelI18n(labelI18n: I18n)

Neu in Version 4.114.0
Beispiel: setPublicLabel(publicLabel: String)
((Input) $component).setPublicLabel("Vorname");
getPublicLabel(): String

Liefert die Beschriftung ("öffentliche Bezeichnung") des Feldes. Nachfolger von getLabelI18n(): I18n

Neu in Version 4.114.0
Beispiel: getPublicLabel(): String
String beschriftung = ((Input) $component).getPublicLabel();
setRequired(required: Boolean)

Setzt, ob die Komponente ein Pflichtfeld sein soll

isRequired(): Boolean

Ruft Pflichtfeld-Status der Komponente auf

setReadOnly(readOnly: Boolean)

Setzt, ob die Komponente schreibgeschützt sein soll

isReadOnly(): Boolean

Prüft, ob eine Komponente schreibgeschützt ist

Output

Klasse

Output

erbt von

Component

setLabel(label: String)

getLabel(): String

setTextI18n(textI18n: I18n)

Setzt die Beschriftung des Feldes

Veraltet – ersetzt durch setText(text: String). Nur noch Kompatibilitäts-Schicht; es wird ausschließlich der deutsche Wert ("de") übernommen.
getTextI18n(): I18n

Liefert die Beschriftung des Feldes

Veraltet – ersetzt durch getText(): String. Nur noch Kompatibilitäts-Schicht; liefert ein I18n mit dem deutschen Text.
setText(text: String)

Setzt den Text des Ausgabefeldes. Nachfolger von setTextI18n(textI18n: I18n)

Neu in Version 4.114.0
Beispiel: setText(text: String)
((Output) $component).setText("Hallo Welt!");
getText(): String

Liefert den Text des Ausgabefeldes. Nachfolger von getTextI18n(): I18n

Neu in Version 4.114.0
Beispiel: getText(): String
String text = ((Output) $component).getText();

Field

erbt von

Input

Basisklasse, deren Methoden allen erbenden Klassen zur Verfügung stehen.

setPlaceholderI18n(placeholderI18n: I18n)

Veraltet – ersetzt durch setPlaceholder(placeholder: String). Nur noch Kompatibilitäts-Schicht; es wird ausschließlich der deutsche Wert ("de") übernommen.
getPlaceholderI18n(): I18n

Veraltet – ersetzt durch getPlaceholder(): String. Nur noch Kompatibilitäts-Schicht; liefert ein I18n mit dem deutschen Platzhaltertext.
setPlaceholder(placeholder: String)

Setzt den Platzhaltertext des Feldes. Nachfolger von setPlaceholderI18n(placeholderI18n: I18n)

Neu in Version 4.114.0
Beispiel: setPlaceholder(placeholder: String)
((Field) $component).setPlaceholder("z. B. Musterstraße 1");
getPlaceholder(): String

Liefert den Platzhaltertext des Feldes. Nachfolger von getPlaceholderI18n(): I18n

Neu in Version 4.114.0
Beispiel: getPlaceholder(): String
String platzhalter = ((Field) $component).getPlaceholder();
setDefaultValue(defaultValue: String)

Setzt den Standardwert

getDefaultValue(): String

Liefert den Standardwert

Datumskomponente

Klasse

Datetimefield

erbt von

Field

setType(type: Type)

getType(): Type

setValue(value: Date)

getValue(): Date

Für die Beschriftungen der einzelnen Datums-/Zeit-Eingabefelder gibt es keine Kompatibilitätsschicht: Die ...I18n-Methoden wurden vollständig entfernt und durch ...Placeholder-Methoden mit String ersetzt. Regeln, die noch setMinuteI18n(…​) und Co. verwenden, kompilieren nicht mehr und müssen angepasst werden.
setMinuteI18n(minuteI18n: I18n)

Entfernt – ersetzt durch setMinutePlaceholder(minutePlaceholder: String).
getMinuteI18n(): I18n

Entfernt – ersetzt durch getMinutePlaceholder(): String.
setMinutePlaceholder(minutePlaceholder: String)

Setzt die Beschriftung des Minuten-Feldes. Nachfolger von setMinuteI18n(minuteI18n: I18n)

Neu in Version 4.114.0
Beispiel: setMinutePlaceholder(minutePlaceholder: String)
((Datetimefield) $component).setMinutePlaceholder("Minute");
getMinutePlaceholder(): String

Liefert die Beschriftung des Minuten-Feldes. Nachfolger von getMinuteI18n(): I18n

Neu in Version 4.114.0
setHourI18n(hourI18n: I18n)

Entfernt – ersetzt durch setHourPlaceholder(hourPlaceholder: String).
getHourI18n(): I18n

Entfernt – ersetzt durch getHourPlaceholder(): String.
setHourPlaceholder(hourPlaceholder: String)

Setzt die Beschriftung des Stunden-Feldes. Nachfolger von setHourI18n(hourI18n: I18n)

Neu in Version 4.114.0
getHourPlaceholder(): String

Liefert die Beschriftung des Stunden-Feldes. Nachfolger von getHourI18n(): I18n

Neu in Version 4.114.0
setDayI18n(dayI18n: I18n)

Entfernt – ersetzt durch setDayPlaceholder(dayPlaceholder: String).
getDayI18n(): I18n

Entfernt – ersetzt durch getDayPlaceholder(): String.
setDayPlaceholder(dayPlaceholder: String)

Setzt die Beschriftung des Tages-Feldes. Nachfolger von setDayI18n(dayI18n: I18n)

Neu in Version 4.114.0
getDayPlaceholder(): String

Liefert die Beschriftung des Tages-Feldes. Nachfolger von getDayI18n(): I18n

Neu in Version 4.114.0
setMonthI18n(monthI18n: I18n)

Entfernt – ersetzt durch setMonthPlaceholder(monthPlaceholder: String).
getMonthI18n(): I18n

Entfernt – ersetzt durch getMonthPlaceholder(): String.
setMonthPlaceholder(monthPlaceholder: String)

Setzt die Beschriftung des Monats-Feldes. Nachfolger von setMonthI18n(monthI18n: I18n)

Neu in Version 4.114.0
getMonthPlaceholder(): String

Liefert die Beschriftung des Monats-Feldes. Nachfolger von getMonthI18n(): I18n

Neu in Version 4.114.0
setYearI18n(yearI18n: I18n)

Entfernt – ersetzt durch setYearPlaceholder(yearPlaceholder: String).
getYearI18n(): I18n

Entfernt – ersetzt durch getYearPlaceholder(): String.
setYearPlaceholder(yearPlaceholder: String)

Setzt die Beschriftung des Jahres-Feldes. Nachfolger von setYearI18n(yearI18n: I18n)

Neu in Version 4.114.0
getYearPlaceholder(): String

Liefert die Beschriftung des Jahres-Feldes. Nachfolger von getYearI18n(): I18n

Neu in Version 4.114.0
setDateI18n(dateI18n: I18n)

Entfernt – ersetzt durch setDatePlaceholder(datePlaceholder: String).
getDateI18n(): I18n

Entfernt – ersetzt durch getDatePlaceholder(): String.
setDatePlaceholder(datePlaceholder: String)

Setzt die Beschriftung des Datums-Feldes. Nachfolger von setDateI18n(dateI18n: I18n)

Neu in Version 4.114.0
getDatePlaceholder(): String

Liefert die Beschriftung des Datums-Feldes. Nachfolger von getDateI18n(): I18n

Neu in Version 4.114.0

Numerisches Feld / Dezimalfeld

Klasse

Numericfield

erbt von

Field

setMinValue(minValue: BigDecimal)

Setzt den minimalen Wert, der in der Bürgersicht eingegeben werden kann

getMinValue(): BigDecimal

Liefert den minimal eingebbaren Wert

setMaxValue(maxValue: BigDecimal)

Setzt den maximalen Wert, der in der Bürgersicht eingegeben werden kann

getMaxValue(): BigDecimal

Liefert den maximal eingebbaren Wert

setPrecision(precision: Short)

Setzt die maximale Anzahl der eingebbaren Nachkommastellen

getPrecision(): Short

Liefert die maximale Anzahl an Nachkommastellen

setDecimal(decimal: Boolean)

Setzt, ob eine Dezimalzahl eingegeben werden kann

isDecimal(): Boolean

Liefert, ob eine Dezimalzahl eingegeben werden kann

setValue(value: BigDecimal)

getValue(): BigDecimal

setType(type: NumericFieldSpecialType)

getType(): NumericFieldSpecialType

Komponenten mit Kardinalität

Nur bestimme Komponenten besitzen die Optionen für die Kardinalität (Multikomponenten).
Diese sind Compositecomponent, Selectlist, Textfield, Numericfield, Datetimefield und Fileupload
Um die folgenden Methoden zu nutzen, muss also immer auf einen dieser Typen gecastet werden. Alle hier beschrieben Getter haben auch einen entsprechenden Setter.

getMultiIterationsSettings(): MultiIterationSettings

Beherbergt alle neuen Konfigurationen zur Kardinalität

Beispiel: getMultiIterationsSettings(): MultiIterationSettings
((Compositecomponent) $objektgruppe).getMultiIterationsSettings()
getIteratedComponents(): List<Component>

Liefert eine Liste aller "Einzel-Komponenten" der Kardinalität

Beispiel: getIteratedComponents(): List<Component>
List multiComponents = ((Compositecomponent) $objektgruppe).getMultiIterationsSettings().getIteratedComponents();
getMinimumIterations(): int

Liefert die minimal auszufüllende Zahl von Wiederholungen

Beispiel: getMinimumIterations(): int
int minAnzahl = ((Compositecomponent) $comp).getMultiIterationsSettings().getMinimumIterations();
getMaximumIterations(): int

Liefert die maximal auszufüllende Zahl von Wiederholungen

Beispiel: getMaximumIterations(): int
int maxAnzahl = ((Compositecomponent) $comp).getMultiIterationsSettings().getMaximumIterations();

Die klassische "Wenn Haken angehakt, dann zeige Feld"-Regel sieht für eine Objektgruppe mit Kardinalität also folgendermaßen aus:

Beispiel
package de.formsolutions.metaform
import de.formsolutions.metaform.model.*
import java.util.List

rule "set needed textfeld"
when
    Component($multikomponente:searchInputComponent("Objektgruppe"), $multikomponente != null)
    Component($c1:searchInputComponent("Objektgruppe.Textfeld (einzeilig)"), $c1 != null)
    Component($c2:searchInputComponent("Objektgruppe.Kontrollkästchen"), $c2 != null)
then
    //Initialzustand
    boolean oldNeededC1 = $c1.isNeeded();
    boolean bedingungC1 = "ja".equals($c2.getStringValue());
    $c1.setNeeded(bedingungC1);

    if(oldNeededC1 != bedingungC1){
        $c1.setNeededValueHasChanged(true);
    }
    //Iteriere durch Liste
    List<Component> singleComponents = ((Compositecomponent) $multikomponente).getMultiIterationsSettings().getIteratedComponents();

    if(singleComponents != null){
        for(Component singleComponent : singleComponents){
            boolean bedingung = false;

            for(Component component : ((Compositecomponent) singleComponent).getComponents()){
                if("Kontrollkästchen".equals(component.getIdentifier())){
                    bedingung = "ja".equals(component.getStringValue());
                }
            }
            for(Component component : ((Compositecomponent) singleComponent).getComponents()){
                if("Textfeld (einzeilig)".equals(component.getIdentifier())){
                    boolean oldNeeded = component.isNeeded();
                    component.setNeeded(bedingung);
                    if(oldNeeded != bedingung){
                        component.setNeededValueHasChanged(true);
                    }
                }
            }
        }
    }

end

Panel

setIdentifier(identifier: String)

Ändert die technische Bezeichnung des Panels

getIdentifier(): String

Liefert die technische Bezeichnung des Panels

setI18n(i18n: I18n)

Veraltet – ersetzt durch setTitle(title: String). Nur noch Kompatibilitäts-Schicht; es wird ausschließlich der deutsche Wert ("de") übernommen.
getI18n(): I18n

Veraltet – ersetzt durch getTitle(): String. Nur noch Kompatibilitäts-Schicht; liefert ein I18n mit dem deutschen Titel des Panels.
setTitle(title: String)

Setzt den Titel (die Überschrift) des Panels. Nachfolger von setI18n(i18n: I18n)

Neu in Version 4.114.0
Beispiel: setTitle(title: String)
$panel.setTitle("Persönliche Angaben");
getTitle(): String

Liefert den Titel (die Überschrift) des Panels. Nachfolger von getI18n(): I18n

Neu in Version 4.114.0
Beispiel: getTitle(): String
String titel = $panel.getTitle();
setComponents(components: List<Component>

Setzt eine List<Component> als Komponenten zur Laufzeit im Panel angezeigt werden

getComponents(): List<Component>

Liefert alle Komponenten des Panels als List<Component>

Beispiel: getComponents(): List<Component>
List<Component> components = $panel.getComponents();

for( Component c : components){
    //Do Something
}
setNeeded(needed: Boolean)

Setzt, ob das Panel angezeigt werden soll oder nicht

isNeeded(): Boolean

Prüft, ob das Panel angezeigt wird

setDisplayed(displayed: Boolean)

Setzt, ob das Panel schon angezeigt wurde oder nicht

isDisplayed(): Boolean

Prüft, ob das Panel schon angezeigt wurde

setComplete(complete: Boolean)

Setzt, ob das Panel schon vollständig ausgefüllt wurde

isComplete(): Boolean

Prüft, ob das Panel schon vollständig ausgefüllt wurde

setResettable(resettable: Boolean)

Setzt, ob das Panel zurücksetzbar ist

isResettable(): Boolean

Prüft, ob das Panel zurücksetzbar ist

addComponent(component: Component)

Fügt dem Panel eine Komponente hinzu

resetComponents(): void

Setzt alle Komponenten auf dem Panel zurück

isForcedInPdf(): Boolean

getInputComponent(component : String)

Liefert die Komponente mit dem mitgegebenen Technischen Bezeichner. Ist die Komponente in einer Objektgruppe, muss der Technische Bezeichner der Objektgruppe(n) vor dem Technischen Bezeichner der Komponente mit einem Punkt abgetrennt werden

Beispiel: getInputComponent(component : String)
Component comp = $panel.getInputComponent("MeineObjektgruppe.MeinFeld");
hasValues(): Boolean

hasVisibleComponents(): Boolean

Ein Panel kann dabei genau wie Komponenten im when-Teil der Regel als Variable definiert werden.

Folgendes Beispiel iteriert durch alle Komponenten auf der niedrigsten Ebene des Panels und setzt den Wert "Hallo Welt", wenn es sich um eine Textfeld handelt.

Beispiel
package de.formsolutions.metaform
import de.formsolutions.metaform.model.*
import java.util.List

rule "setze Hallo Welt in Textfelder"
when
    $panel:Panel(identifier == "TechnischerBezeichnerPanel")
then
    List<Component> components = $panel.getComponents();
    for(Component c : components){
        if(c instanceof Textfield){
            c.setStringValue("Hallo Welt!");
        }
    }
end
Soll durch alle Komponenten des Panels iteriert werden, muss man eine rekursive Funktion schreiben.
Elemente, die zum Beispiel in einer Objektgruppe oder in einem Baustein (Reference) liegen, werden so nicht gefunden.

Dropdown / Optionsfelder

Klasse

Selectlist

erbt von

Input

setOrderAlphabetically(orderAlphabetically: Boolean)

Setzt, ob die einzelnen Elemente des Dropdowns alphabetisch sortiert sein sollen

isOrderAlphabetically(): Boolean

Prüft, ob die Elemente alphabetisch sortiert sind

setDisplayType(displayType: DisplayType)

getDisplayType(): DisplayType

setSelectlistitems(selectlistitems: List<Selectlistitem>)

Setzt eine List<Selectlistitem> - Damit können die Einträge des Dropdowns manipuliert werden (zum Beispiel neue hinzugefügt werden)

getSelectlistitems(): List<Selectlistitem>

Liefert eine Liste von Selectlistitems

setSelectlistcolumns(selectlistcolumns: List<Selectlistcolumn>)

getSelectlistcolumn(): List<Selectlistcolumn>

setSelectedItem(selectedItem: Selectlistitem)

getSelectedItem(): Selectlistitem

setPreSelectedItemValue(preSelectedItemValue: String)

getPreSelectedItemValue(): String

setFetchValuesFromList(fetchValuesFromList: Boolean)

getFetchValuesFromList(): Boolean

setListId(listId: String)

getListId(): String

setLabelColumn(labelColumn: String)

getLabelColumn(): String

setOrderColumn(orderColumn: String)

getOrderColumn(): String

setValueColumn(valueColumn: String)

getValueColumn(): String

setItemAlignment(itemAlignment: ItemAlignment)

getItemAlignment(): ItemAlignment

setFilterExpression(filterExpression: String)

getFilterExpression(): String

addSelectListlitem(selectlistitem: Selectlistitem)

injectSelectlistitems(itemList: List<Selectlistitem>)

Selectlistcolumn

setIdentifier(identifier: String)

getIdentifier(): String

setI18n(i18n: I18n)

Entfernt (da das Feld "hinter" dieser Methode nirgends verwendet/ausgewertet wurde) – es gibt weder einen Kompatibilitäts-Schicht noch eine String-Nachfolgemethode. Eine Spalte besitzt nur noch ihre technische Bezeichnung (identifier). Regeln, die diese Methode verwenden, kompilieren nicht mehr und müssen angepasst werden.
getI18n(): I18n

Entfernt (da das Feld "hinter" dieser Methode nirgends verwendet/ausgewertet wurde) – es gibt weder einen Kompatibilitäts-Schicht noch eine String-Nachfolgemethode. Zur Identifikation einer Spalte ist stattdessen getIdentifier(): String zu verwenden.

Selectlistitem

setI18n(i18n: I18n)

Veraltet – ersetzt durch setPublicLabel(publicLabel: String). Nur noch Kompatibilitäts-Schicht; es wird ausschließlich der deutsche Wert ("de") übernommen.
getI18n(): I18n

Veraltet – ersetzt durch getPublicLabel(): String. Nur noch Kompatibilitäts-Schicht; liefert ein I18n mit der deutschen Beschriftung des Eintrags.
setPublicLabel(publicLabel: String)

Setzt die angezeigte Beschriftung des Eintrags. Nachfolger von setI18n(i18n: I18n)

Neu in Version 4.114.0
Beispiel: setPublicLabel(publicLabel: String)
Selectlistitem item = new Selectlistitem();
item.setPublicLabel("Beispieleintrag");
item.setValue("beispieleintrag");

((Selectlist) $component).addSelectListlitem(item);
getPublicLabel(): String

Liefert die angezeigte Beschriftung des Eintrags. Nachfolger von getI18n(): I18n

Neu in Version 4.114.0
Beispiel: getPublicLabel(): String
String beschriftung = ((Selectlist) $component).getSelectedItem().getPublicLabel();
setValue(value: String)

getValue(): String

setColumnValues(columnValues: Map<String, String>)

getColumnValues(): Map<String, String>