package org.pentaho.reporting.platform.plugin;
import com.google.common.base.Objects;
import org.pentaho.reporting.engine.classic.core.util.CloseableTableModel;
import javax.swing.table.AbstractTableModel;
public class MockTableModel extends AbstractTableModel implements CloseableTableModel {
Object[][] data;
int rowCount = 0;
int columnCount = 0;
boolean closed;
public MockTableModel(final Object[][] data) {
this.data = Objects.firstNonNull(data, new Object[0][0]);
rowCount = this.data.length;
for (int i = 0; i < this.data.length; i++) {
columnCount = Math.max(columnCount, this.data[i].length);
}
}
public MockTableModel() {
this(null);
}
@Override
public void close() {
closed = true;
}
@Override
public int getRowCount() {
return rowCount;
}
@Override
public int getColumnCount() {
return columnCount;
}
@Override
public Object getValueAt(final int rowIndex, final int columnIndex) {
return data[rowIndex][columnIndex];
}
}