Das neue Interface

LF-ET generiert aus der Entscheidungstabelle ein Interface mit den folgenden Anpassungen:
-
Das Interface ist 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, der NACH jeder Regelausführung aufgerufen wird
// *** 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.ini not found
// used 24.02.2026 14:44 build in default
package lfet.demo;
import javax.annotation.processing.Generated;
@Generated("LF-ET")
interface Rechnungsbetrag_iFace<T>
{
// Prolog Standard <----
/**
* <b>B01: Bestellwert</b><br>
* <br>
* The enum generation has been triggered in project.ini by:<br>
* - <b>ide.java.interface.enum.1</b>: symbol=Intervall; include.tags.title=Bestellwert; exclude.tags.title=Rabatt<br>
* - <b>ide.Java.Interface.Enum.default.Values</b>: method.name=enum.name; enum.value.name=symbol, uppercase, prefix$
*/
boolean isBestellwert(Rechnungsbetrag_iFace.Bestellwert arg0, T model);
/**
* <b>B02: Rabatt</b><br>
* <br>
* <b>B02/01: >0 - Rabatt wurde erfasst</b>
*/
boolean isRabatt_Groesser0(T model);
/**
* <b>B03: Rabattvariante</b><br>
* <br>
* <b>B03/01: % - prozentualer Nachlass auf den Bestellwert</b>
*/
boolean isRabattvariante_ProzentualerNachlassAufDenBestellwert(T model);
/**
* <b>B04: Rabatt < Bestellwert</b><br>
* <br>
* <b>B04/01: J - Ja</b>
*/
boolean isRabattKleinerBestellwert(T model);
/**
* <b>A01: Rabatt berücksichtigen</b>
*/
void doRabattBeruecksichtigen(T model);
/**
* <b>A02: Porto berechnen</b>
*/
void doPortoBerechnen(T model);
/**
* <b>A03: Rechnungsbetrag</b><br>
* <br>
* <b>A03/01: akt. - Rechnungsbetrag muss aktualisiert werden</b>
*/
void doRechnungsbetrag_Akt(T model);
/**
* <b>A03: Rechnungsbetrag</b><br>
* <br>
* <b>A03/02: übern. - Bestellwert kann als Rechnungsbetrag übernommen werden</b>
*/
void doRechnungsbetrag_Uebern(T model);
void doTrace(java.lang.String dtName, java.lang.String version, int rules, int rule, T model);
void doTraceAfterRule(java.lang.String dtName, java.lang.String version, int rules, int rule, T model);
/**
* <b>B01: Bestellwert</b><br>
* <br>
* The enum generation has been triggered in project.ini by:<br>
* - <b>ide.java.interface.enum.1</b>: symbol=Intervall; include.tags.title=Bestellwert; exclude.tags.title=Rabatt<br>
* - <b>ide.Java.Interface.Enum.default.Values</b>: method.name=enum.name; enum.value.name=symbol, uppercase, prefix$
*/
enum Bestellwert
{
/**
* <b>B01: Bestellwert</b><br>
* <br>
* <b>B01/01: < 20,00 - gering</b>
*/
$KLEINER2000("< 20,00", Double.NEGATIVE_INFINITY, 19.99),
/**
* <b>B01: Bestellwert</b><br>
* <br>
* <b>B01/02: 20,00 - 75,00 - normal</b>
*/
$20007500("20,00 - 75,00", 20.0, 75.0);
private final String symbol;
private final double symbolMin;
private final double symbolMax;
Bestellwert(String symbol, double symbolMin, double symbolMax)
{
this.symbol = symbol;
this.symbolMin = symbolMin;
this.symbolMax = symbolMax;
}
public String getSymbol()
{
return symbol;
}
public double getSymbolMin()
{
return symbolMin;
}
public double getSymbolMax()
{
return symbolMax;
}
public boolean isInSymbolInterval(double d)
{
return d >= symbolMin && d <= symbolMax;
}
public boolean isInSymbolInterval(int i)
{
return i >= symbolMin && i <= symbolMax;
}
}
// Epilog Standard ---->
// profile LFET.Java.Epilog.Standard.Interface.ini not found
// used 24.02.2026 14:44 build in default
}
// Epilog Standard <----
// End of generated Java source code
// Generated by LF-ET 2.4.1 (260219a), https://www.lohrfink.de/lfet