hoffe jemand kann mir helfen. Ich muss zwei POJOs, eine für den Rechnungskopf und eine weitere für die DetailsWie bindet man eine Eigenschaft eines POJO an die Summe des Feldes einer inneren ArrayList <ANOTHER_POJO>
public class Invoice{
private SimpleStringProperty docNum;
private SimpleStringProperty customer;
private ArrayList<InvoiceDetails> invoiceDetails;
public Invoice(String docNum, String customer) {
this.docNum = new SimpleStringProperty(docNum);
this.customer = new SimpleStringProperty(customer);
this.invoiceDetails= new ArrayList<>();
}
/* Getters and setters*/
}
das zweite ist ...
public class InvoiceDetails{
private SimpleStringProperty taxRate;
private SimpleDoubleProperty taxAmount;
private SimpleDoubleProperty amount;
public InvoiceDetails(String taxRate, Double taxAmount, Double amount) {
this.taxRate= new SimpleStringProperty(taxRate);
this.taxAmount= new SimpleDoubleProperty(taxAmount);
this.amount= new SimpleDoubleProperty(amount);
}
/* Getters and setters*/
}
Die Frage ist, wie kann ich ein Feld der POJO binden Invoices
, zur Summe des Feldes amount
des POJO InvoiceDetails
. Etwas wie dieses:
public class Invoice{
private SimpleStringProperty docNum;
private SimpleStringProperty customer;
private ArrayList<InvoiceDetails> invoiceDetails;
private SimpleDoubleProperty totalAmount;
public Invoice(String docNum, String customer) {
this.docNum = new SimpleStringProperty(docNum);
this.customer = new SimpleStringProperty(customer);
this.invoiceDetails= new ArrayList<>();
this.totalAmount.bind(....)
}
/* Getters and setters*/
}
Welches wäre der bessere Weg, dies zu erreichen. Vielleicht die Daten in einem Stream sammeln und an das Feld totalAmount binden? Vielen Dank im Voraus für Ihre Zeit.
'totalAmount' sollte die Summe von jeder' Menge' von 'InvoiceDetail' sein? – XtremeBaumer
Ja, lassen Sie uns eine Rechnung haben eine ArrayList von 3 InvoiceDetails mit dem Betragswert; 1,2 und 3. Der totalAmount in der _parent_ POJO 'Rechnung' sollte 6 sein. – pburgov