package com.activequant.trading.datamodel; import java.text.SimpleDateFormat; import java.util.List; import com.activequant.domainmodel.TimeStamp; import com.activequant.trading.AbstractTSBase; @SuppressWarnings("serial") public class AuditLogTable extends AQTableDataBase { private SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss.SSS"); public enum Columns{ TIMESTAMP(0), TEXT(1); int colIdx; private Columns(int pos){ this.colIdx = pos; } public int colIdx(){return colIdx;} } private Object[][] data = new Object[0][]; private String[] header; public AuditLogTable(){ super(); header = new String[Columns.values().length]; for(int i=0;i<header.length;i++){ header[i] = Columns.values()[i].name(); } } @Override public void clear(){ data = new Object[0][]; } public AuditLogTable(AbstractTSBase abstractTSBase) { super(abstractTSBase); header = new String[Columns.values().length]; for(int i=0;i<header.length;i++){ header[i] = Columns.values()[i].name(); } } public void addAudit(TimeStamp timeStamp, String text){ // convert data to list. List<Object[]> l = c(data); Object[] row = new Object[header.length]; row[Columns.TIMESTAMP.colIdx] = sdf.format(timeStamp.getDate()); row[Columns.TEXT.colIdx] = text; l.add(row); data = c(l); } @Override public Object[][] getData() { return data; } @Override public String[] getHeader() { return header; } }