19package org.sleuthkit.autopsy.directorytree;
21import java.util.ArrayList;
22import java.util.Collection;
23import java.util.Collections;
24import java.util.HashSet;
26import javax.swing.AbstractAction;
27import javax.swing.Action;
28import org.openide.util.NbBundle;
29import org.openide.util.Utilities;
30import org.sleuthkit.autopsy.actions.AddContentTagAction;
31import org.sleuthkit.autopsy.actions.DeleteFileContentTagAction;
32import org.sleuthkit.autopsy.coreutils.ContextMenuExtensionPoint;
33import org.sleuthkit.datamodel.AbstractFile;
34import org.sleuthkit.datamodel.Content;
35import org.sleuthkit.datamodel.ContentVisitor;
36import org.sleuthkit.datamodel.DerivedFile;
37import org.sleuthkit.datamodel.Directory;
38import org.sleuthkit.datamodel.FileSystem;
39import org.sleuthkit.datamodel.Image;
40import org.sleuthkit.datamodel.LocalFile;
41import org.sleuthkit.datamodel.LocalDirectory;
42import org.sleuthkit.datamodel.VirtualDirectory;
43import org.sleuthkit.datamodel.Volume;
45public class ExplorerNodeActionVisitor
extends ContentVisitor.Default<List<? extends Action>> {
47 private final static ExplorerNodeActionVisitor
instance =
new ExplorerNodeActionVisitor();
50 List<Action>
actions =
new ArrayList<>();
71 public List<? extends Action>
visit(
final Image img) {
72 List<Action> lst =
new ArrayList<>();
73 lst.add(
new ExtractUnallocAction(
74 NbBundle.getMessage(
this.getClass(),
"ExplorerNodeActionVisitor.action.extUnallocToSingleFiles"), img));
79 public List<? extends Action>
visit(
final FileSystem fs) {
80 return new ArrayList<>();
84 public List<? extends Action>
visit(
final Volume vol) {
85 List<AbstractAction> lst =
new ArrayList<>();
86 lst.add(
new ExtractUnallocAction(
87 NbBundle.getMessage(
this.getClass(),
"ExplorerNodeActionVisitor.action.extUnallocToSingleFile"), vol));
93 public List<? extends Action>
visit(
final Directory d) {
94 List<Action> actionsList =
new ArrayList<>();
97 final Collection<AbstractFile> selectedFilesList =
98 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
99 if(selectedFilesList.size() == 1) {
108 public List<? extends Action>
visit(
final VirtualDirectory d) {
109 List<Action> actionsList =
new ArrayList<>();
110 if (!d.isDataSource()) {
113 final Collection<AbstractFile> selectedFilesList =
114 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
115 if(selectedFilesList.size() == 1) {
126 public List<? extends Action>
visit(
final LocalDirectory d) {
127 List<Action> actionsList =
new ArrayList<>();
128 if (!d.isDataSource()) {
131 final Collection<AbstractFile> selectedFilesList =
132 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
133 if(selectedFilesList.size() == 1) {
144 public List<? extends Action>
visit(
final DerivedFile d) {
145 List<Action> actionsList =
new ArrayList<>();
150 final Collection<AbstractFile> selectedFilesList =
151 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
152 if(selectedFilesList.size() == 1) {
161 public List<? extends Action>
visit(
final LocalFile d) {
162 List<Action> actionsList =
new ArrayList<>();
167 final Collection<AbstractFile> selectedFilesList =
168 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
169 if(selectedFilesList.size() == 1) {
178 public List<? extends Action>
visit(
final org.sleuthkit.datamodel.File d) {
179 List<Action> actionsList =
new ArrayList<>();
184 final Collection<AbstractFile> selectedFilesList =
185 new HashSet<>(Utilities.actionsGlobalContext().lookupAll(AbstractFile.class));
186 if(selectedFilesList.size() == 1) {
196 return Collections.<Action>emptyList();
static synchronized AddContentTagAction getInstance()
static synchronized DeleteFileContentTagAction getInstance()
List<? extends Action > visit(final Volume vol)
List<? extends Action > visit(final Image img)
List<? extends Action > visit(final LocalDirectory d)
List<? extends Action > visit(final DerivedFile d)
static final ExplorerNodeActionVisitor instance
static List< Action > getActions(Content c)
List<? extends Action > defaultVisit(Content di)
List<? extends Action > visit(final org.sleuthkit.datamodel.File d)
List<? extends Action > visit(final Directory d)
List<? extends Action > visit(final VirtualDirectory d)
List<? extends Action > visit(final FileSystem fs)
List<? extends Action > visit(final LocalFile d)
static synchronized ExportCSVAction getInstance()