// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.gui.dialogs.changeset; import java.util.ArrayList; import java.util.List; import javax.swing.table.AbstractTableModel; import org.openstreetmap.josm.data.osm.ChangesetDiscussionComment; /** * Model of changeset discussion table. * @since 7715 */ public class ChangesetDiscussionTableModel extends AbstractTableModel { private final transient List<ChangesetDiscussionComment> data = new ArrayList<>(); @Override public int getRowCount() { return data.size(); } @Override public int getColumnCount() { return 3; } @Override public Object getValueAt(int rowIndex, int columnIndex) { if (rowIndex < 0 || rowIndex >= data.size()) return null; switch (columnIndex) { case 0: return data.get(rowIndex).getDate(); case 1: return data.get(rowIndex).getUser(); default: return data.get(rowIndex).getText(); } } /** * Populates the model with the discussion of a changeset. If ds is null, the table is cleared. * * @param list the changeset discussion. */ public void populate(List<ChangesetDiscussionComment> list) { data.clear(); if (list != null) { data.addAll(list); } fireTableDataChanged(); } }