19 package org.sleuthkit.autopsy.datamodel;
21 import org.openide.nodes.AbstractNode;
22 import org.openide.nodes.Children.Keys;
23 import org.openide.nodes.Node;
24 import org.openide.util.NbBundle;
45 abstract class AbstractContentChildren<T>
extends Keys<T> {
47 private final CreateSleuthkitNodeVisitor createSleuthkitNodeVisitor =
new CreateSleuthkitNodeVisitor();
48 private final CreateAutopsyNodeVisitor createAutopsyNodeVisitor =
new CreateAutopsyNodeVisitor();
53 AbstractContentChildren() {
58 protected Node[] createNodes(T key) {
59 if (key instanceof SleuthkitVisitableItem) {
60 return new Node[]{((SleuthkitVisitableItem) key).accept(createSleuthkitNodeVisitor)};
62 return new Node[]{((AutopsyVisitableItem) key).accept(createAutopsyNodeVisitor)};
118 throw new UnsupportedOperationException(NbBundle.getMessage(
this.getClass(),
119 "AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg"));
130 static class CreateAutopsyNodeVisitor
extends AutopsyItemVisitor.Default<AbstractNode> {
138 public AbstractNode visit(FileTypesByExtension sf) {
143 public AbstractNode visit(RecentFiles rf) {
144 return new RecentFilesNode(rf.getSleuthkitCase());
148 public AbstractNode visit(DeletedContent dc) {
149 return new DeletedContent.DeletedContentsNode(dc.getSleuthkitCase());
153 public AbstractNode visit(FileSize dc) {
154 return new FileSize.FileSizeRootNode(dc.getSleuthkitCase());
158 public AbstractNode
visit(KeywordHits kh) {
159 return kh.new RootNode();
163 public AbstractNode
visit(HashsetHits hh) {
164 return hh.new RootNode();
168 public AbstractNode
visit(InterestingHits ih) {
169 return ih.new RootNode();
173 public AbstractNode
visit(EmailExtracted ee) {
174 return ee.new RootNode();
178 public AbstractNode
visit(Tags tagsNodeKey) {
179 return tagsNodeKey.new RootNode();
183 public AbstractNode
visit(DataSources i) {
184 return new DataSourcesNode();
188 public AbstractNode
visit(Views v) {
189 return new ViewsNode(v.getSleuthkitCase());
193 public AbstractNode
visit(Results r) {
194 return new ResultsNode(r.getSleuthkitCase());
198 public AbstractNode
visit(FileTypes ft) {
199 return new FileTypesNode(ft.getSleuthkitCase());
203 public AbstractNode
visit(Reports reportsItem) {
204 return new Reports.ReportsListNode();
208 public AbstractNode
visit(Accounts accountsItem) {
209 return accountsItem.new AccountsRootNode();
213 protected AbstractNode defaultVisit(AutopsyVisitableItem di) {
214 throw new UnsupportedOperationException(
215 NbBundle.getMessage(
this.getClass(),
216 "AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg"));
220 public AbstractNode
visit(FileTypesByMimeType ftByMimeTypeItem) {
221 return ftByMimeTypeItem.new ByMimeTypeNode();
AbstractContentNode<?extends Content > visit(VirtualDirectory ld)
AbstractContentNode<?extends Content > visit(LocalFile lf)
T visit(FileTypesByExtension.RootFilter fsf)
AbstractContentNode<?extends Content > visit(Volume volume)
AbstractContentNode<?extends Content > visit(LayoutFile lf)
AbstractContentNode<?extends Content > defaultVisit(SleuthkitVisitableItem di)
AbstractContentNode<?extends Content > visit(Image image)
AbstractContentNode<?extends Content > visit(Directory drctr)
AbstractContentNode<?extends Content > visit(File file)
AbstractContentNode<?extends Content > visit(DerivedFile df)
AbstractContentNode<?extends Content > visit(SlackFile sf)