package gui.models;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import controller.Controller;
import qora.assets.Asset;
import qora.payment.Payment;
@SuppressWarnings("serial")
public class PaymentsTableModel extends AbstractTableModel
{
private static final int COLUMN_ACCOUNT = 0;
public static final int COLUMN_ASSET = 1;
public static final int COLUMN_AMOUNT = 2;
private String[] columnNames = {"Account", "Asset", "Amount"};
private List<Payment> payments;
public PaymentsTableModel(List<Payment> payments)
{
this.payments = payments;
}
@Override
public int getColumnCount()
{
return this.columnNames.length;
}
@Override
public String getColumnName(int index)
{
return this.columnNames[index];
}
@Override
public int getRowCount()
{
return this.payments.size();
}
@Override
public Object getValueAt(int row, int column)
{
if(this.payments == null || row > this.payments.size() - 1 )
{
return null;
}
Payment payment = this.payments.get(row);
switch(column)
{
case COLUMN_ACCOUNT:
return payment.getRecipient().getAddress();
case COLUMN_ASSET:
Asset asset = Controller.getInstance().getAsset(payment.getAsset());
return asset.toString();
case COLUMN_AMOUNT:
return payment.getAmount().toPlainString();
}
return null;
}
}