// TransactionDetailModel package org.javamoney.examples.ez.money.gui.table.model; import static org.javamoney.examples.ez.money.ApplicationProperties.UI_CURRENCY_FORMAT; import static org.javamoney.examples.ez.money.ApplicationProperties.UI_DATE_FORMAT; import static org.javamoney.examples.ez.money.gui.table.TransactionDetailTable.ACCOUNT_COLUMN; import static org.javamoney.examples.ez.money.gui.table.TransactionDetailTable.AMOUNT_COLUMN; import static org.javamoney.examples.ez.money.gui.table.TransactionDetailTable.DATE_COLUMN; import static org.javamoney.examples.ez.money.gui.table.TransactionDetailTable.PAYEE_COLUMN; import org.javamoney.examples.ez.money.model.dynamic.total.TransactionDetail; import org.javamoney.examples.ez.common.gui.Table; /** * This class facilitates adding transaction details into a table. */ public final class TransactionDetailModel extends Table.NonmutableTableModel { /** * */ private static final long serialVersionUID = -8050581968543111749L; /** * This method adds the specified transaction detail into the model's table. * * @param detail The transaction detail to add. */ public void addRow(TransactionDetail detail) { String[] rowData = new String[4]; rowData[ACCOUNT_COLUMN] = detail.getAccount().getIdentifier(); rowData[AMOUNT_COLUMN] = UI_CURRENCY_FORMAT.format(Math.abs(detail.getTransaction().getAmount().getNumber().doubleValue())); rowData[DATE_COLUMN] = UI_DATE_FORMAT.format(detail.getTransaction().getDate()); rowData[PAYEE_COLUMN] = detail.getTransaction().getPayee(); addRow(rowData); } }