19 package org.sleuthkit.autopsy.contentviewers;
21 import java.util.List;
23 import java.util.Objects;
24 import org.openide.nodes.AbstractNode;
25 import org.openide.nodes.ChildFactory;
26 import org.openide.nodes.Children;
27 import org.openide.nodes.Node;
28 import org.openide.nodes.Sheet;
33 private final List<Map<String, Object>>
rows;
42 for (
int i = 0; i < rows.size(); i++) {
51 if (Objects.isNull(rows) || rows.isEmpty() || key >= rows.size()) {
55 return new SQLiteTableRowNode(rows.get(key));
60 class SQLiteTableRowNode
extends AbstractNode {
62 private final Map<String, Object> row;
64 SQLiteTableRowNode(Map<String, Object> row) {
70 protected Sheet createSheet() {
72 Sheet s = super.createSheet();
73 Sheet.Set properties = s.get(Sheet.PROPERTIES);
74 if (properties == null) {
75 properties = Sheet.createPropertiesSet();
79 for (Map.Entry<String, Object> col : row.entrySet()) {
80 String colName = col.getKey();
81 String colVal = col.getValue().toString();
83 properties.put(
new NodeProperty<>(colName, colName, colName, colVal));
final List< Map< String, Object > > rows
Node createNodeForKey(Integer key)
SQLiteTableRowFactory(List< Map< String, Object >> rows)
boolean createKeys(List< Integer > keys)