All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dnl.utils.text.table.MapBasedTableModel Maven / Gradle / Ivy

The newest version!
package dnl.utils.text.table;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import dnl.utils.text.table.TextTableModel;

/**
 * A TextTableModel for java.util.Map.
 * 
 * @author Daniel Orr
 * 
 */
public class MapBasedTableModel extends TextTableModel {

	private List columnNames;
	private List maps;

	public MapBasedTableModel(List maps) {
		this.columnNames = new ArrayList<>(maps.get(0).keySet());
		this.maps = maps;
	}

	@Override
	public int getRowCount() {
		return maps.size();
	}

	@Override
	public int getColumnCount() {
		return columnNames.size();
	}

	@Override
	public String getColumnName(int column) {
		return columnNames.get(column);
	}

	@Override
	public Object getValueAt(int rowIndex, int columnIndex) {
		Map m = maps.get(rowIndex);
		String columnName = columnNames.get(columnIndex);
		return m.get(columnName);
	}

	@Override
	public boolean allowNumberingAt(int row) {
		return false;
	}

	@Override
	public boolean addSeparatorAt(int row) {
		return false;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy