Interface.Stateless
|
Java, Groovy, Python, JavaScript und TypeScript |
ide.Java.Interface.Stateless = true | false | xxx (default=false)
True | False
Mit dem Wert true wird das Interface stateless und generisch, d.h. zustandslos und typisiert, generiert und dieser Typ ist dann auch ein zusätzlicher Parameter in den Methoden und in der Execute-Methode des Regelmoduls:
Eintrag in einer LFET.Project.ini-Datei:
ide.Java.Interface.Stateless = true
Eintrag in einer LFET.Project.yaml-Datei:
ide.Java:
Enabled: true
Interface:
Stateless: true
Beispiel für ein generiertes Java-Interface und Regelmodul mit diesem Parameter:
interface ZahlungswegeOnlineshop_Iface<T>
{
boolean isBestellwert_Gering(T model);
boolean isBestellwert_Normal(T model);
class ZahlungswegeOnlineshop_RulesEngine
{
<T> void execute(ZahlungswegeOnlineshop_Iface iface, T model)
{
if (iface.isBestellwert_Gering(model) )
{
if (iface.isRegionInnerhalbVonDeutschland_Nord(model) )
{
iface.doKreditkarteDPunktVISA_VISA(model);
iface.doOnlineDPunktPaypal_Paypal(model);
iface.doOnlineDPunktSofortueberweisungPunktDe_Sofort(model);
iface.doLastschriftverfahren_LSV(model);
}
Zum Vergleich dasselbe Java-Interface und Regelmodul ohne diesen Parameter:
interface ZahlungswegeOnlineshop_Iface
{
booleanisBestellwert_Gering();
booleanisBestellwert_Normal();
class ZahlungswegeOnlineshop_RulesEngine
{
void execute(ZahlungswegeOnlineshop_Ifaceiface)
{
if(iface.isBestellwert_Gering() )
{
if (iface.isRegionInnerhalbVonDeutschland_Nord() )
{
iface.doKreditkarteDPunktVISA_VISA();
iface.doOnlineDPunktPaypal_Paypal();
iface.doOnlineDPunktSofortueberweisungPunktDe_Sofort();
iface.doLastschriftverfahren_LSV();
}
Bounded Type
ide.Java.Interface.Stateless = boundedType
Mit einem Wert ungleich true oder false wird das Interface stateless und generisch mit bounded Type generiert:
ide.Java.Interface.Stateless = package.MyType
Beispiel für ein generiertes Java-Interface und Regelmodul mit diesem Parameter:
interface ZahlungswegeOnlineshop_Iface<T extends package.MyType>
{
public boolean isBestellwert_Gering(T model);
public boolean isBestellwert_Normal(T model);
class ZahlungswegeOnlineshop_RulesEngine
{
<T extends package.MyType> void execute(ZahlungswegeOnlineshop_Iface iface, T model)
{
if (iface.isBestellwert_Gering(model) )
{
if (iface.isRegionInnerhalbVonDeutschland_Nord(model) )
{
iface.doKreditkarteDPunktVISA_VISA(model);
iface.doOnlineDPunktPaypal_Paypal(model);
iface.doOnlineDPunktSofortueberweisungPunktDe_Sofort(model);
iface.doLastschriftverfahren_LSV(model);
}