InterfaceEnum

Java, Groovy, Python, JavaScript and TypeScript

Bei der Gene­rierungs­variante 1 (Interface und Regel-Modul) wird standardmäßig für jeden einzelnen Bedin­gungs- und Aktions­wert eine eigene Methode erzeugt, deren Name dynamisch aus den jewei­ligen Titeln und Symbolen gebildet wird.

Bei Bedingungen oder Aktionen mit vielen Werten entstehen dabei auch Interfaces mit entsprechend vielen Methoden, die alle implementiert und gepflegt werden müssen.

Mit den Schlüsseln InterfaceEnum und InterfaceParm wird für ausgewählte Bedingungen oder Aktionen je­weils nur noch eine Methode ge­ne­riert, bei der die Werte entweder als Enum oder als Parameter übergeben werden.

In den folgenden Kapiteln werden diese Gene­rie­rungs­varian­ten Enum- und Parm-Generierung genannt.

Enums

ide.Java.InterfaceEnum[.n]

Mit diesem Gene­rie­rungs­parameter kann für ausgewählte Bedingungen und Aktionen je­weils ein Enum ge­ne­riert werden, so dass anstelle vieler Methoden für alle Werte nur noch eine Methode mit einem Enum als Parameter ge­ne­riert wird:

  • Die Interface-Methoden heißen standardmäßig isEnum(…) oder doEnum(…)

  • Der Name des Enums wird dynamisch aus dem Titel der jewei­ligen Bedingung oder Ak­tion gebildet

  • Für jeden Wert der Wertetabelle wird eine Enum-Konstante $nnn ge­ne­riert, nnn ist dabei die Nummer des Wertes

Parameter

ide.Java.InterfaceParm[.n]

Mit diesem Gene­rie­rungs­para­meter wird für ausgewählte Bedingungen und Aktionen, anstelle vieler Methoden für alle Werte, je­weils nur noch eine Methode mit der definierten Parameterliste ge­ne­riert.

  • InterfaceParm ist nur verfügbar für Java und Groovy

  • Die Verwendung von Enums hat sich als deutlich leistungs­stärker erwiesen, deswegen wird die Parameter-Variante nicht mehr weiter ausgebaut

  • Es wird die Verwendung der Enum-Variante empfohlen

Extraktion von Daten

Die Eigenschaften der Enums bzw. die Parameter der Parameterlisten werden über optionale Argumente festgelegt, wie zum Beispiel:

  • das Symbol, den Titel oder den Text des Bedin­gungs- oder Ak­tions-Wertes als String

  • einen Zahlen­wert oder eine Liste von Zahlen, die bei der Gene­rie­rung direkt aus dem Symbol oder dem Titel des Wertes ausgelesen werden

  • Min- und Max-Wert einer Intervall­angabe, die bei der Gene­rie­rung direkt aus dem Symbol oder dem Titel des Wertes ausgelesen wird

  • usw.

Eintrag in einer LFET.Pro­ject.ini-Datei:
ide.Java.InterfaceEnum.1: Symbol = Double; Title
ide.Java.InterfaceEnum.2: Symbol; Title = DoubleList
Eintrag in einer LFET.Project.yaml-Datei:
ide.Java:
  Enabled: true

  Interface:

    Enum:
      1:
        Symbol: Double
        Title: '""'
      2:
        Symbol: '""'
        Title: DoubleList

Die nun folgenden Kapitel beschreiben die Optionen, die bei der InterfaceEnum-Gene­rie­rung zur Verfügung stehen.