Generierungsparameter für Java
|
Dieser Abschnitt ist veraltet: Die Verwendung von "embedded" Parametern in der Entscheidungstabelle ist zwar nach wie vor möglich, wird aber nicht mehr empfohlen. Seit Project.ini-Dateien verschachtelt werden können und in diesem Zusammenhang auch private Project.ini-Dateien für einzelne Entscheidungstabellen möglich sind, sollten die Entscheidunsgtabellen möglichst unverändert zur Programmgenerierung verwendet werden. |
Die Generierung des Sourcecodes kann für Java über folgende Parameter beeinflusst werden:
| Parameter | Default-Wert | Zulässige Werte |
|---|---|---|
$$BaseOfVersion Hiermit kann die Versions-Ausgabe für den Platzhalter $$Version im generierten Programmcode verändert werden: SRC - Dies ist der Default-Wert: $$Version wird im generierten Code durch den Zeitstempel der Source-Generierung ersetzt. DT | ET - $$Version wird im generierten Code durch den Save-Zeitstempel (saveDate) der Entscheidungstabelle ersetzt. UDV | BDV - $$Version wird im generierten Code durch die UserDefinedVersion (Benutzerdefinierte Version) der Entscheidungstabelle ersetzt. Wenn keine benutzerdefinierte Version angegeben ist, dann wird der Save-Zeitstempel der Entscheidungstabelle verwendet und ein entsprechender Hinweis im Verarbeitungsprotokoll ausgegeben. Siehe auch project.ini: ide.java.baseOfVersion |
SRC |
SRC DT ET UDV BDV |
$$BracketsNewLine Die geschweiften Klammern der if-else-Struktur werden in einer separaten Zeile generiert. |
true |
true false |
$$DontCheckRuleGroups Mit dem Wert true kann die automatische Konsistenz-Prüfung von Regelgruppen bei der Generierung von Programmcode unterdrückt werden. Dies kann ein sinnvoller Workaround sein, solange noch 'alte' Entscheidungstabellen mit Regelgruppensteuerung im Einsatz sind, diese aber (noch) nicht den aktuellen formalen Anforderungen an Regelgruppen entsprechen. Siehe auch project.ini: ide.java.dontCheckRuleGroups |
true |
true false |
$EmptyLines Eine Leerzeile zwischen den generierten Blöcken. |
true |
true false |
$$Extension Extension des erzeugten Sourcefiles Siehe auch project.ini: ide.java.extension |
java |
beliebig |
$$Filename Generiert einen vom Entscheidungstabellen-Namen abweichenden Datei-Namen Siehe auch project.ini: ide.java.filename |
ET- Name |
beliebig |
$$Package 1) Erläuterung siehe Kapitel: Der Parameter $$Package Siehe auch project.ini: ide.java.package |
1) |
1) |
$$Scrapbook.SuppressText Mit dem Wert true kann bei der Scrapbook-Generierung die Einbindung von Titeln und Texten als Kommentare unterdrückt werden. Siehe auch project.ini: ide.java.scrapbook.suppressText |
false |
true false |
$$TodoTag Hiermit kann das Standard-Todo-Tag "TODO", das bei der Scrapbook-Generierung verwendet wird, frei definiert werden. So können z.B. in Eclipse generierte LF‑ET-TODO"s von "normalen" TODO"s unterschieden werden. Siehe auch project.ini: ide.java.todoTag |
TODO |
beliebig |
Parameter für die Java-Interface-Generierung
| Parameter | Default-Wert | Zulässige Werte |
|---|---|---|
$$Interface Die Angabe dieses Parameters löst die Interface-Generierung für Java aus, wenn alle sonstigen Interface-Parameter in der project.ini definiert sind, aber im Prolog der Entscheidungstabelle noch weitere, nicht Interface-bezogene, Parameter angegeben sind, wie z.B. $$DontCheckRuleGroups=true. Siehe auch project.ini: ide.java.Interface |
false |
true false |
$$InterfaceName Die Angabe dieses Parameters löst die Interface-Generierung für Java aus. Siehe auch project.ini: ide.java.InterfaceName |
--- |
beliebig |
$$InterfaceRulesClassName Mit diesem Parameter kann ein individueller Name für das Logik-Modul (Rules-Engine) festgelegt werden. Siehe auch project.ini: ide.java.InterfaceRulesClassName |
ET- Name |
beliebig |
$$InterfaceRuleMethods Bei sehr großen Entscheidungstabellen mit vielen Regeln und vielen Aktionen in den Regeln kann die Methode „execute“ in der generierten Rules-Engine zu groß werden und einen Compile-Fehler „The code of method … is exceeding the 65535 bytes limit“ verursachen. Dieser Generierungsparameter löst das Problem, indem die Regeln in der generierten Rules-Engine in jeweils eigene Methoden „ausgelagert“ werden. |
false |
true false |
$$InterfaceRuleID Dieser Parameter ermöglicht das Tracen der RuleID’s bei der Interface-Generierung für Java false - Dies ist der Default-Wert: RuleID’s und die aktuelle LastRuleID werden bei der Interface-Generierung nicht berücksichtigt true - Die RuleID der Regel und die aktuelle LastRuleID der Entscheidungstabelle werden bei der Interface-Generierung über zusätzliche Getter-Methoden bereitgestellt trace - Die RuleID der Regel und die aktuelle LastRuleID der Entscheidungstabelle werden in den Interface-Trace-Methoden als Parameter mitgegeben Siehe auch project.ini: ide.java.InterfaceRuleID |
false |
false true trace |
$$InterfaceRuleGroups Verlagert die Regelgruppensteuerung komplett in die generierte Rules-Engine, die entsprechenden Bedingungen und Aktionen entfallen dann im Interface und bei der Implementierung entfällt die manuelle Programmierung der Schleife um den Rule-Engine-Aufruf. Siehe auch project.ini: ide.java.InterfaceRuleGroups |
false |
true false |
$$InterfaceTraceAfterRule Generierung einer zusätzlichen Trace-Methode nach jeder Regel. Siehe auch project.ini: ide.java.interfaceTraceAfterRule |
false |
true false |
$$InterfacePrefixIs Individueller Präfix für die Bedingungsmethoden, wie z.B. "is". Siehe auch project.ini: _ide.java.InterfacePrefixIs |
is |
beliebig |
$$InterfacePrefixDo Individueller Präfix für die Aktionsmethoden, wie z.B. "do". Siehe auch project.ini: _ide.java.InterfacePrefixDo |
do |
beliebig |
$$InterfaceExtension Extension der erzeugten Interface-Datei. |
java |
beliebig |
$$InterfaceVarName Name des Interface-Parameters. |
iface |
beliebig |
$$InterfaceExtendedMethodNames LF‑ET prüft automatisch, ob alle generierten Methodennamen gültig sind. Falls nicht, wird die Verwendung dieses Parameters empfohlen, der die vollständige Auflösung aller Sonderzeichen auslöst. |
false |
true false |
$$InterfaceIgnoreQmark Verhindert die Auflösung von Fragezeichen für Methodennamen bei Verwendung von $$InterfaceExtendedMethodNames=true. Siehe auch project.ini: ide.java.InterfaceIgnoreQmark |
false |
true false |
$$MethodName $$MN (Kurzform) Mit diesem Generierungsparameter • im logischen Argument einer Bedingung oder eines Bedingungswertes oder • im Statement einer Aktion oder eines Aktionswertes wird nicht die automatische Generierung des Interface-Methodennamens verwendet, sondern direkt der jeweils angegebene Parameterwert. Zur Dokumentation in den generierten Modulen wird der jeweilige Sourcecode auch in den Kommentar der Interface-Methode mit aufgenommen. |
--- |
beliebig |
Hinweise zu Generierungsparametern:
-
Generierungsparameter werden als Kommentarzeilen direkt im Sourcecode angegeben. Geeignet sind dazu die ersten Zeilen im Prolog zur Entscheidungstabelle, ein Beispiel:
// $$Filename=MyClass -
Werden keine Generierungsparameter eingegeben, dann arbeitet die Generierung mit den Default-Werten
-
Mehrere Generierungsparameter in einer Zeile sind möglich
-
Groß-Klein-Schreibung spielt keine Rolle
-
Ein Generierungsparameter darf nur einmal vorkommen
-
Bei Fehlern (ungültige oder fehlende Werte, mehrfache Generierungsparameter, etc.) wird die Generierung abgebrochen und eine detaillierte Beschreibung der Ursache wird am Bildschirm angezeigt
-
Viele Generierungsparameter können auch "global" in der Datei Project.ini festgelegt werden, siehe: Sprachbezogene Schlüssel in der Datei Project.ini