/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.dataprocess.gui.launcher.result.table; import java.util.ArrayList; import java.util.List; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.table.TableModel; /** * */ public class ResultTableModel implements TableModel { private static final String[] HEADER_LABEL = new String[]{"Traitement", "Status", "Message"}; private final TreatmentResultList treatmentResultList; private List<TableModelListener> tableModelListeners = new ArrayList<TableModelListener>(); public ResultTableModel(TreatmentResultList treatmentResultList) { this.treatmentResultList = treatmentResultList; } public int getRowCount() { return treatmentResultList.getSize(); } public int getColumnCount() { return 3; } public String getColumnName(int columnIndex) { if (columnIndex > HEADER_LABEL.length - 1) { return "#ERROR: unknown column..."; } return HEADER_LABEL[columnIndex]; } public Class getColumnClass(int columnIndex) { return String.class; } public boolean isCellEditable(int rowIndex, int columnIndex) { return false; } public Object getValueAt(int rowIndex, int columnIndex) { return treatmentResultList.getTreatmentResultByIndex(rowIndex); } public void setValueAt(Object aValue, int rowIndex, int columnIndex) { } public void addTableModelListener(TableModelListener listener) { tableModelListeners.add(listener); } public void removeTableModelListener(TableModelListener listener) { tableModelListeners.remove(listener); } public void fireTableChanged() { for (TableModelListener tableModelListener : tableModelListeners) { tableModelListener.tableChanged(new TableModelEvent(this)); } } }