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;
 
   47 abstract class AbstractContentChildren<T> 
extends Keys<T> {
 
   49     private final CreateSleuthkitNodeVisitor createSleuthkitNodeVisitor = 
new CreateSleuthkitNodeVisitor();
 
   50     private final CreateAutopsyNodeVisitor createAutopsyNodeVisitor = 
new CreateAutopsyNodeVisitor();
 
   55     AbstractContentChildren() {
 
   64     protected Node[] createNodes(T key) {
 
   65         if (key instanceof SleuthkitVisitableItem) {
 
   66             return new Node[]{((SleuthkitVisitableItem) key).accept(createSleuthkitNodeVisitor)};
 
   68             return new Node[]{((AutopsyVisitableItem) key).accept(createAutopsyNodeVisitor)};
 
  134             throw new UnsupportedOperationException(NbBundle.getMessage(
this.getClass(),
 
  135                     "AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg"));
 
  146     static class CreateAutopsyNodeVisitor 
extends AutopsyItemVisitor.Default<AbstractNode> {
 
  154         public AbstractNode visit(FileTypesByExtension sf) {
 
  155             return sf.new FileTypesByExtNode(sf.getSleuthkitCase(), null);
 
  159         public AbstractNode visit(RecentFiles rf) {
 
  160             return new RecentFilesNode(rf.getSleuthkitCase());
 
  164         public AbstractNode visit(DeletedContent dc) {
 
  165             return new DeletedContent.DeletedContentsNode(dc.getSleuthkitCase(), dc.filteringDataSourceObjId());
 
  169         public AbstractNode visit(FileSize dc) {
 
  170             return new FileSize.FileSizeRootNode(dc.getSleuthkitCase(), dc.filteringDataSourceObjId());
 
  174         public AbstractNode 
visit(KeywordHits kh) {
 
  175             return kh.new RootNode();
 
  179         public AbstractNode 
visit(HashsetHits hh) {
 
  180             return hh.new RootNode();
 
  184         public AbstractNode 
visit(InterestingHits ih) {
 
  185             return ih.new RootNode();
 
  189         public AbstractNode 
visit(EmailExtracted ee) {
 
  190             return ee.new RootNode();
 
  194         public AbstractNode 
visit(Tags tagsNodeKey) {
 
  195             return tagsNodeKey.new RootNode(tagsNodeKey.filteringDataSourceObjId());
 
  199         public AbstractNode 
visit(DataSources i) {
 
  200             return new DataSourcesNode(i.filteringDataSourceObjId());
 
  204         public AbstractNode 
visit(DataSourceGrouping datasourceGrouping) {
 
  205             return new DataSourceGroupingNode(datasourceGrouping.getDataSource());
 
  209         public AbstractNode 
visit(Views v) {
 
  210             return new ViewsNode(v.getSleuthkitCase(), v.filteringDataSourceObjId());
 
  214         public AbstractNode 
visit(Results results) {
 
  215             return new ResultsNode(results.getSleuthkitCase(), results.filteringDataSourceObjId() );
 
  219         public AbstractNode 
visit(FileTypes ft) {
 
  220             return ft.new FileTypesNode();
 
  224         public AbstractNode 
visit(Reports reportsItem) {
 
  225             return new Reports.ReportsListNode();
 
  229         public AbstractNode 
visit(Accounts accountsItem) {
 
  230             return accountsItem.new AccountsRootNode();
 
  234         protected AbstractNode defaultVisit(AutopsyVisitableItem di) {
 
  235             throw new UnsupportedOperationException(
 
  236                     NbBundle.getMessage(
this.getClass(),
 
  237                             "AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg"));
 
  241         public AbstractNode 
visit(FileTypesByMimeType ftByMimeTypeItem) {
 
  242             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(LocalDirectory ld)
AbstractContentNode<?extends Content > visit(File file)
AbstractContentNode<?extends Content > visit(DerivedFile df)
AbstractContentNode<?extends Content > visit(SlackFile sf)
AbstractContentNode<?extends Content > visit(BlackboardArtifact art)