Das neue Regelmodul

LF-ET generiert aus der Entscheidungstabelle ein Regelmodul mit den folgenden Anpassungen:
-
Das Regelmodul arbeitet jetzt stateless und generisch, d.h. zustandslos und typisiert, der Typ ist ein zusätzlicher Parameter in allen Methoden
-
Die Methoden-Namen bei den Enums sind sprechender
-
nicht mehr isEnum oder doEnum
-
sondern z.B. isBestellwert
-
-
Die Namen der Enum-Werte werden aus den Symbolen abgeleitet
-
nicht mehr $001, $002, $003, …
-
sondern z.B. $KLEINER2000, $20007500, …
-
-
Ein zusätzlicher Trace-Code wird NACH jeder Regelausführung aufgerufen
// *** WARNING: DO NOT MODIFY *** This is a generated Java source code!
//
// Generated by LF-ET 2.4.1 (260219a), https://www.lohrfink.de/lfet
// From decision table
// "/src/main/resources/lfet/demo/Rechnungsbetrag.lfet"
// 24.02.2026 14:44
//
// Prolog Standard ---->
// profile LFET.Java.Prolog.Standard.Interface.Dt.ini not found
// used LF-ET 2.4.1 (260219a) build in default
package lfet.demo;
import javax.annotation.processing.Generated;
@Generated("LF-ET")
public class Rechnungsbetrag_rulesEngine
{
public <T> void execute(Rechnungsbetrag_iFace<T> iface, T model)
{
// Prolog Standard <----
if (iface.isBestellwert(Rechnungsbetrag_iFace.Bestellwert.$KLEINER2000, model) /* < 20,00 - gering */)
{
// Rule R01 ---->
iface.doTrace("Rechnungsbetrag", "20260224.144415", 7, 1, model);
iface.doPortoBerechnen(model);
iface.doRechnungsbetrag_Akt(model);
iface.doTraceAfterRule("Rechnungsbetrag", "20260224.144415", 7, 1, model);
// Rule R01 <----
}
else if (iface.isBestellwert(Rechnungsbetrag_iFace.Bestellwert.$20007500, model) /* 20,00 - 75,00 - normal */)
{
if (iface.isRabatt_Groesser0(model))
{
if (iface.isRabattvariante_ProzentualerNachlassAufDenBestellwert(model))
{
// Rule R02 ---->
iface.doTrace("Rechnungsbetrag", "20260224.144415", 7, 2, model);
iface.doRabattBeruecksichtigen(model);
iface.doPortoBerechnen(model);
iface.doRechnungsbetrag_Akt(model);
iface.doTraceAfterRule("Rechnungsbetrag", "20260224.144415", 7, 2, model);
// Rule R02 <----
}
else // Rabattvariante EUR - fester Betrag, wird von Bestellwert abgezogen
{
if (iface.isRabattKleinerBestellwert(model))
{
// Rule R03 ---->
iface.doTrace("Rechnungsbetrag", "20260224.144415", 7, 3, model);
iface.doRabattBeruecksichtigen(model);
iface.doPortoBerechnen(model);
iface.doRechnungsbetrag_Akt(model);
iface.doTraceAfterRule("Rechnungsbetrag", "20260224.144415", 7, 3, model);
// Rule R03 <----
}
else // Rabatt < Bestellwert N - Nein
{
// Rule R04 ---->
iface.doTrace("Rechnungsbetrag", "20260224.144415", 7, 4, model);
iface.doPortoBerechnen(model);
iface.doRechnungsbetrag_Akt(model);
iface.doTraceAfterRule("Rechnungsbetrag", "20260224.144415", 7, 4, model);
// Rule R04 <----
}
}
}
else // Rabatt ohne - es wurde kein Rabatt erfasst
{
// Rule R05 ---->
iface.doTrace("Rechnungsbetrag", "20260224.144415", 7, 5, model);
iface.doPortoBerechnen(model);
iface.doRechnungsbetrag_Akt(model);
iface.doTraceAfterRule("Rechnungsbetrag", "20260224.144415", 7, 5, model);
// Rule R05 <----
}
}
else // Bestellwert > 75,00 - hoch
{
if (iface.isRabatt_Groesser0(model))
{
// Rule R06 ---->
iface.doTrace("Rechnungsbetrag", "20260224.144415", 7, 6, model);
iface.doRabattBeruecksichtigen(model);
iface.doRechnungsbetrag_Akt(model);
iface.doTraceAfterRule("Rechnungsbetrag", "20260224.144415", 7, 6, model);
// Rule R06 <----
}
else // Rabatt ohne - es wurde kein Rabatt erfasst
{
// Rule R07 ---->
iface.doTrace("Rechnungsbetrag", "20260224.144415", 7, 7, model);
iface.doRechnungsbetrag_Uebern(model);
iface.doTraceAfterRule("Rechnungsbetrag", "20260224.144415", 7, 7, model);
// Rule R07 <----
}
}
// Epilog Standard ---->
// profile LFET.Java.Epilog.Standard.Interface.Dt.ini not found
// used LF-ET 2.4.1 (260219a) build in default
}
}
// Epilog Standard <----
// End of generated Java source code
// Generated by LF-ET 2.4.1 (260219a), https://www.lohrfink.de/lfet