@Ajinkya281991
Please implement ICellsDataTable with List<Map<String, Object>> as the following
class MapCellsDataTable implements ICellsDataTable {
private final List<Map<String, Object>> data;
private Iterator<Map<String, Object>> iterator;
private Map<String, Object> currentRow;
public MapCellsDataTable(List<Map<String, Object>> data) {
this.data = data;
this.beforeFirst();
}
@Override
public String[] getColumns() {
if (data.isEmpty()) {
return new String[0];
}
return data.get(0).keySet().toArray(new String[0]);
}
@Override
public int getCount() {
return data.size();
}
@Override
public void beforeFirst() {
iterator = data.iterator();
currentRow = null;
}
@Override
public Object get(int index) {
if (currentRow == null || index < 0 || index >= getColumns().length) {
return null;
}
String columnName = getColumns()[index];
return currentRow.get(columnName);
}
@Override
public Object get(String columnName) {
if (currentRow == null) {
return null;
}
return currentRow.get(columnName);
}
@Override
public boolean next() {
if (iterator.hasNext()) {
currentRow = iterator.next();
return true;
} else {
currentRow = null;
return false;
}
}
}
We are working on HashMap as a data object.