Autopsy  4.19.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
SpecialDirectoryNode.java
Go to the documentation of this file.
1 /*
2  * Autopsy Forensic Browser
3  *
4  * Copyright 2017-2019 Basis Technology Corp.
5  * Contact: carrier <at> sleuthkit <dot> org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 package org.sleuthkit.autopsy.datamodel;
20 
21 import java.util.ArrayList;
22 import java.util.Collections;
23 import java.util.List;
24 import javax.swing.Action;
25 import org.openide.util.NbBundle;
34 import org.sleuthkit.datamodel.Content;
35 import org.sleuthkit.datamodel.SpecialDirectory;
36 
40 public abstract class SpecialDirectoryNode extends AbstractAbstractFileNode<SpecialDirectory> {
41 
42  public SpecialDirectoryNode(SpecialDirectory sd) {
43  super(sd);
44  }
45 
53  @Override
54  @NbBundle.Messages({"SpecialDirectoryNode.getActions.viewInNewWin.text=View in New Window"
55  })
56  public Action[] getActions(boolean popup) {
57  List<Action> actions = new ArrayList<>();
58  for (Action a : super.getActions(true)) {
59  actions.add(a);
60  }
61 
62  actions.add(new NewWindowViewAction(
63  Bundle.SpecialDirectoryNode_getActions_viewInNewWin_text(), this));
64  actions.add(null); // creates a menu separator
65  actions.add(ExtractAction.getInstance());
66  actions.add(ExportCSVAction.getInstance());
67  actions.add(null); // creates a menu separator
68  actions.add(new FileSearchAction(Bundle.ImageNode_getActions_openFileSearchByAttr_text()));
69  if (content.isDataSource()) {
70  actions.add(new ViewSummaryInformationAction(content.getId()));
71  actions.add(new RunIngestModulesAction(Collections.<Content>singletonList(content)));
72  actions.add(new DeleteDataSourceAction(content.getId()));
73  } else {
74  actions.add(new RunIngestModulesAction(content));
75  }
76  actions.addAll(ContextMenuExtensionPoint.getActions());
77  return actions.toArray(new Action[0]);
78  }
79 
80  @Override
81  public boolean isLeafTypeNode() {
82  return false;
83  }
84 
85  @Override
86  public String getItemType() {
87  // use content.isDataSource if different column settings are desired
88  return DisplayableItemNode.FILE_PARENT_NODE_KEY;
89  }
90 }
static synchronized ExportCSVAction getInstance()
static synchronized ExtractAction getInstance()

Copyright © 2012-2021 Basis Technology. Generated on: Fri Aug 6 2021
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.