19 package org.sleuthkit.autopsy.centralrepository.contentviewer;
21 import java.util.LinkedHashSet;
22 import java.util.Objects;
24 import javax.swing.table.AbstractTableModel;
25 import org.openide.util.NbBundle;
31 final class OtherOccurrencesDataSourcesTableModel
extends AbstractTableModel {
33 private static final long serialVersionUID = 1L;
34 private final Set<DataSourceColumnItem> dataSourceSet =
new LinkedHashSet<>();
39 OtherOccurrencesDataSourcesTableModel() {
44 public int getColumnCount() {
49 public int getRowCount() {
50 return dataSourceSet.size();
53 @NbBundle.Messages({
"OtherOccurrencesDataSourcesTableModel.dataSourceName=Data Source Name",
54 "OtherOccurrencesDataSourcesTableModel.noData=No Data."})
56 public String getColumnName(
int colIdx) {
57 return Bundle.OtherOccurrencesDataSourcesTableModel_dataSourceName();
61 public Object getValueAt(
int rowIdx,
int colIdx) {
63 if (dataSourceSet.isEmpty() || rowIdx < 0
64 || rowIdx >= dataSourceSet.size()
65 || !(dataSourceSet.toArray()[rowIdx] instanceof DataSourceColumnItem)) {
66 return Bundle.OtherOccurrencesDataSourcesTableModel_noData();
68 return ((DataSourceColumnItem) dataSourceSet.toArray()[rowIdx]).getDataSourceName();
79 String getDeviceIdForRow(
int rowIdx) {
81 if (dataSourceSet.isEmpty() || rowIdx < 0
82 || rowIdx >= dataSourceSet.size()
83 || !(dataSourceSet.toArray()[rowIdx] instanceof DataSourceColumnItem)) {
86 return ((DataSourceColumnItem) dataSourceSet.toArray()[rowIdx]).getDeviceId();
97 String getCaseNameForRow(
int rowIdx) {
99 if (dataSourceSet.isEmpty() || rowIdx < 0
100 || rowIdx >= dataSourceSet.size()
101 || !(dataSourceSet.toArray()[rowIdx] instanceof DataSourceColumnItem)) {
104 return ((DataSourceColumnItem) dataSourceSet.toArray()[rowIdx]).getCaseName();
108 public Class<String> getColumnClass(
int colIdx) {
117 void addNodeData(OtherOccurrenceNodeData newNodeData) {
118 dataSourceSet.add(
new DataSourceColumnItem((OtherOccurrenceNodeInstanceData) newNodeData));
119 fireTableDataChanged();
126 dataSourceSet.clear();
127 fireTableDataChanged();
148 this(nodeData.getCaseName(), nodeData.getDeviceID(), nodeData.getDataSourceName());
202 return Objects.hash(caseName, deviceId, dataSourceName);
DataSourceColumnItem(OtherOccurrenceNodeInstanceData nodeData)
String getDataSourceName()
boolean equals(Object other)
final String dataSourceName
DataSourceColumnItem(String caseName, String deviceId, String dataSourceName)