/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clips.doctor.medexam;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.ErrorValue;
import clips.delegate.doctor.medexam.MedexamLocal;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.table.AbstractTableModel;
/**
*
* @author vip
*/
public class TableModelMedexamList extends AbstractTableModel {
public static final int COL_COUNT = 4;
public static final int COL_CLIENT = 0;
public static final int COL_TYPE = 1;
public static final int COL_DATE = 2;
public static final int COL_RESULT = 3;
private ArrayList<MedexamLocal> medexamList;
public TableModelMedexamList(ArrayList<MedexamLocal> medexamList) {
this.medexamList = medexamList;
}
@Override
public int getRowCount() {
return medexamList.size();
}
@Override
public int getColumnCount() {
return COL_COUNT;
}
@Override
public String getColumnName(int col) {
switch (col) {
case COL_CLIENT: return "ФИО";
case COL_TYPE: return "Тип";
case COL_DATE: return "Дата";
case COL_RESULT: return "Результат";
default: throw new IllegalArgumentException("Некорректный номер столбца : " + col);
}
}
@Override
public Class<?> getColumnClass(int col) {
if (col == COL_DATE) {
return Date.class;
}
return super.getColumnClass(col);
}
@Override
public Object getValueAt(int row, int col) {
try {
MedexamLocal medexam = medexamList.get(row);
switch (col) {
case COL_CLIENT:
return medexam.getClientLocal().getFIO();
case COL_TYPE: return medexam.getPacketTitle();
case COL_DATE: return medexam.getDiseaseLocal().getCreated();
case COL_RESULT: return medexam.getFinalResult();
default: throw new IllegalArgumentException("Некорректный номер столбца : " + col);
}
} catch (ClipsException ex) {
return new ErrorValue(ex);
}
}
}