package Models; import EnvironmentPluginAPI.Contract.TEnvironmentDescription; import javax.swing.table.DefaultTableModel; import java.util.LinkedList; import java.util.List; /** * This class represents the model for a JTable that manages TEnvironmentDescriptions. */ public class EnvironmentListTableModel extends DefaultTableModel { private List<TEnvironmentDescription> environmentDescriptions; public EnvironmentListTableModel() { environmentDescriptions = new LinkedList<TEnvironmentDescription>(); addColumn("Name"); addColumn("Version"); addColumn("Description"); } public void addEnvironment(TEnvironmentDescription environmentDescription) { int i = environmentDescriptions.size(); environmentDescriptions.add(environmentDescription); addRow(new Object[] {environmentDescription.getName(), environmentDescription.getVersion(), environmentDescription.getDescription()}); fireTableRowsInserted(i, i); } public void addAllEnvironments(List<TEnvironmentDescription> descriptions) { for(TEnvironmentDescription tmp : descriptions) { addEnvironment(tmp); } } public TEnvironmentDescription get(int index) { return environmentDescriptions.get(index); } }