Das Modell

Die Klasse Rechnungsbetrag_model enthält alle fachlichen Attribute, die durch die Entscheidungstabelle entweder ausgewertet oder berechnet werden, wie z.B. Bestellwert, Rabatt oder Porto.

Manuell Programmiert
Wir verwenden gerne Lombok, dies erspart die manuelle Programmierung aller Standard-Glue-Codes, wie z.B. Konstruktoren und Zugriffsmethoden.
Die manuell programmierte Java-Klasse:
package lfet.demo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class Rechnungsbetrag_model {
private final BigDecimal bestellwert;
private final BigDecimal rabatt;
private final String rabattTyp; // "%", "EUR"
private final BigDecimal porto;
private BigDecimal rechnungPorto = BigDecimal.ZERO;
private BigDecimal rechnungRabatt = BigDecimal.ZERO;
private BigDecimal rechnungBetrag = BigDecimal.ZERO;
public boolean isRabattProzent() {
return rabattTyp.contains("%");
}
}
Von Lombok erzeugt
Dieser Abschnitt ist nur für diejenigen gedacht, die Lombok noch nicht kennen.
Die von Lombok automatisch erzeugte Java-Klasse:
package lfet.demo;
import java.math.BigDecimal;
import lombok.Generated;
public class Rechnungsbetrag_model {
private final BigDecimal bestellwert;
private final BigDecimal rabatt;
private final String rabattTyp;
private final BigDecimal porto;
private BigDecimal rechnungPorto;
private BigDecimal rechnungRabatt;
private BigDecimal rechnungBetrag;
public boolean isRabattProzent() {
return this.rabattTyp.contains("%");
}
@Generated
public Rechnungsbetrag_model(BigDecimal bestellwert, BigDecimal rabatt, String rabattTyp, BigDecimal porto) {
this.rechnungPorto = BigDecimal.ZERO;
this.rechnungRabatt = BigDecimal.ZERO;
this.rechnungBetrag = BigDecimal.ZERO;
this.bestellwert = bestellwert;
this.rabatt = rabatt;
this.rabattTyp = rabattTyp;
this.porto = porto;
}
@Generated
public BigDecimal getBestellwert() {
return this.bestellwert;
}
@Generated
public BigDecimal getRabatt() {
return this.rabatt;
}
@Generated
public String getRabattTyp() {
return this.rabattTyp;
}
@Generated
public BigDecimal getPorto() {
return this.porto;
}
@Generated
public BigDecimal getRechnungPorto() {
return this.rechnungPorto;
}
@Generated
public BigDecimal getRechnungRabatt() {
return this.rechnungRabatt;
}
@Generated
public BigDecimal getRechnungBetrag() {
return this.rechnungBetrag;
}
@Generated
public void setRechnungPorto(BigDecimal rechnungPorto) {
this.rechnungPorto = rechnungPorto;
}
@Generated
public void setRechnungRabatt(BigDecimal rechnungRabatt) {
this.rechnungRabatt = rechnungRabatt;
}
@Generated
public void setRechnungBetrag(BigDecimal rechnungBetrag) {
this.rechnungBetrag = rechnungBetrag;
}
@Generated
public boolean equals(Object o) {
if (o == this) {
return true;
} else if (!(o instanceof Rechnungsbetrag_model)) {
return false;
} else {
Rechnungsbetrag_model other = (Rechnungsbetrag_model)o;
if (!other.canEqual(this)) {
return false;
} else {
Object this$bestellwert = this.getBestellwert();
Object other$bestellwert = other.getBestellwert();
if (this$bestellwert == null) {
if (other$bestellwert != null) {
return false;
}
} else if (!this$bestellwert.equals(other$bestellwert)) {
return false;
}
Object this$rabatt = this.getRabatt();
Object other$rabatt = other.getRabatt();
if (this$rabatt == null) {
if (other$rabatt != null) {
return false;
}
} else if (!this$rabatt.equals(other$rabatt)) {
return false;
}
Object this$rabattTyp = this.getRabattTyp();
Object other$rabattTyp = other.getRabattTyp();
if (this$rabattTyp == null) {
if (other$rabattTyp != null) {
return false;
}
} else if (!this$rabattTyp.equals(other$rabattTyp)) {
return false;
}
Object this$porto = this.getPorto();
Object other$porto = other.getPorto();
if (this$porto == null) {
if (other$porto != null) {
return false;
}
} else if (!this$porto.equals(other$porto)) {
return false;
}
Object this$rechnungPorto = this.getRechnungPorto();
Object other$rechnungPorto = other.getRechnungPorto();
if (this$rechnungPorto == null) {
if (other$rechnungPorto != null) {
return false;
}
} else if (!this$rechnungPorto.equals(other$rechnungPorto)) {
return false;
}
Object this$rechnungRabatt = this.getRechnungRabatt();
Object other$rechnungRabatt = other.getRechnungRabatt();
if (this$rechnungRabatt == null) {
if (other$rechnungRabatt != null) {
return false;
}
} else if (!this$rechnungRabatt.equals(other$rechnungRabatt)) {
return false;
}
Object this$rechnungBetrag = this.getRechnungBetrag();
Object other$rechnungBetrag = other.getRechnungBetrag();
if (this$rechnungBetrag == null) {
if (other$rechnungBetrag != null) {
return false;
}
} else if (!this$rechnungBetrag.equals(other$rechnungBetrag)) {
return false;
}
return true;
}
}
}
@Generated
protected boolean canEqual(Object other) {
return other instanceof Rechnungsbetrag_model;
}
@Generated
public int hashCode() {
int PRIME = 59;
int result = 1;
Object $bestellwert = this.getBestellwert();
result = result * 59 + ($bestellwert == null ? 43 : $bestellwert.hashCode());
Object $rabatt = this.getRabatt();
result = result * 59 + ($rabatt == null ? 43 : $rabatt.hashCode());
Object $rabattTyp = this.getRabattTyp();
result = result * 59 + ($rabattTyp == null ? 43 : $rabattTyp.hashCode());
Object $porto = this.getPorto();
result = result * 59 + ($porto == null ? 43 : $porto.hashCode());
Object $rechnungPorto = this.getRechnungPorto();
result = result * 59 + ($rechnungPorto == null ? 43 : $rechnungPorto.hashCode());
Object $rechnungRabatt = this.getRechnungRabatt();
result = result * 59 + ($rechnungRabatt == null ? 43 : $rechnungRabatt.hashCode());
Object $rechnungBetrag = this.getRechnungBetrag();
result = result * 59 + ($rechnungBetrag == null ? 43 : $rechnungBetrag.hashCode());
return result;
}
@Generated
public String toString() {
String var10000 = String.valueOf(this.getBestellwert());
return "Rechnungsbetrag_model(bestellwert=" + var10000
+ ", rabatt=" + String.valueOf(this.getRabatt())
+ ", rabattTyp=" + this.getRabattTyp()
+ ", porto=" + String.valueOf(this.getPorto())
+ ", rechnungPorto=" + String.valueOf(this.getRechnungPorto())
+ ", rechnungRabatt=" + String.valueOf(this.getRechnungRabatt())
+ ", rechnungBetrag=" + String.valueOf(this.getRechnungBetrag()) + ")";
}
}