Autopsy  4.21.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer Class Reference

Inherits JPanel, and org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.


class  SelectedArtifactChangedTask
class  SelectedNodeChangedTask
class  ViewUpdate

Public Member Functions

 DataArtifactContentViewer ()
DataContentViewer createInstance ()
Component getComponent ()
default String getTitle (Node node)
String getTitle ()
String getToolTip ()
int isPreferred (Node node)
boolean isSupported (Node node)
void resetComponent ()
void setNode (Node selectedNode)

Private Member Functions

List< DataArtifact > getArtifactContents ()
ArtifactContentViewer getSupportingViewer (DataArtifact artifact)
void initComponents ()
void nextPageButtonActionPerformed (java.awt.event.ActionEvent evt)
void prevPageButtonActionPerformed (java.awt.event.ActionEvent evt)
void resetComponents ()
void setArtifactContents (List< DataArtifact > artifactList)
synchronized void startNewTask (SwingWorker< ViewUpdate, Void > task)
void updateView (ViewUpdate viewUpdate)

Static Private Member Functions

static boolean isSourceContent (Content content)

Private Attributes

javax.swing.JPanel artifactContentPanel
javax.swing.JLabel artifactLabel
List< DataArtifact > artifactTableContents
Node currentNode
int currentPage = 1
javax.swing.JLabel currentPageLabel
SwingWorker< ViewUpdate, Void > currentTask
javax.swing.Box.Filler filler1
final Collection< ArtifactContentViewerknowArtifactViewers = new HashSet<>(Lookup.getDefault().lookupAll(ArtifactContentViewer.class))
final Object lock = new Object()
javax.swing.JPanel menuBar
javax.swing.JButton nextPageButton
javax.swing.JLabel ofLabel
javax.swing.JLabel pageLabel
javax.swing.JLabel pageLabel2
javax.swing.JButton prevPageButton
javax.swing.JScrollPane scrollPane
javax.swing.JLabel totalPageLabel

Static Private Attributes

static final String ERROR_TEXT = NbBundle.getMessage(DataArtifactContentViewer.class, "DataArtifactContentViewer.errorText")
static final int LESS_PREFERRED = ViewerPriority.viewerPriority.LevelThree.getFlag()
static final Logger logger = Logger.getLogger(DataArtifactContentViewer.class.getName())
static final int MORE_PREFERRED = ViewerPriority.viewerPriority.LevelSeven.getFlag()
static final long serialVersionUID = 1L
static final String WAIT_TEXT = NbBundle.getMessage(DataArtifactContentViewer.class, "DataArtifactContentViewer.waitText")

Detailed Description

Instances of this class display the DataArtifact associated with the Content represented by a Node.

It goes through a list of known ArtifactContentViewer to find a viewer that supports a given artifact and then hands it the artifact to display.

Definition at line 59 of file

Constructor & Destructor Documentation

org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.DataArtifactContentViewer ( )

Definition at line 84 of file

Member Function Documentation

DataContentViewer org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.createInstance ( )

Create and return a new instance of your viewer. The reason that this is needed is because the specific viewer modules will be found via NetBeans Lookup and the type will only be DataContentViewer. This method is used to get an instance of your specific type.

A new instance of the viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 325 of file

List<DataArtifact> org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.getArtifactContents ( )

Retrieve the cache of artifact represented as ResultsTableArtifacts.

A list of artifacts.

Definition at line 503 of file

Component org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.getComponent ( )

Return the Swing Component to display. Implementations of this method that extend JPanel and do a 'return this;'. Otherwise return an internal instance of the JPanel.

the component which is displayed for this viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 330 of file

ArtifactContentViewer org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.getSupportingViewer ( DataArtifact  artifact)

Definition at line 394 of file

default String org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.getTitle ( Node  node)

Returns the title of this viewer to display in the tab.

nodeThe node to be viewed in the DataContentViewer.
the title of DataContentViewer.

Implemented in org.sleuthkit.autopsy.contentviewers.Metadata.

Definition at line 61 of file

References org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.getTitle().

String org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.getTitle ( )

Returns the title of this viewer to display in the tab.

the title of DataContentViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 315 of file

String org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.getToolTip ( )

Returns a short description of this viewer to use as a tool tip for its tab.

the tooltip for this TextViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 320 of file

void org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.initComponents ( )

This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.

Definition at line 98 of file

int org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.isPreferred ( Node  node)

Checks whether the given viewer is preferred for the Node. This is a bit subjective, but the idea is that Autopsy wants to display the most relevant tab. The more generic the viewer, the lower the return value should be. This will only be called on viewers that support the given node (i.e., isSupported() has already returned true).

The following are some examples of the current levels in use. If the selected node is an artifact, the level may be determined by both the artifact and its associated file.

Level 8 - Used for viewers that summarize a data artifact and display a relevant subset to help the examiner decide if they should look into it further. Not currently used by any modules, but an example would be a module that summarizes an email message.

Level 7 - Used for data artifact viewers. These have higher priority over file content viewers because a Node will likely have the ‘source’ file for a data artifact and we want to give the artifact priority. Currently used by the Data Artifacts viewer.

Level 6 - Used for type-specific file content viewers that summarize the file content and display a relevant subset. These viewers help the examiner determine if the file is worth looking into further. Examples of this would be Video Triage Module that displays a subset of a video or a document.

Level 5 - Used for type-specific file content viewers that are optimized for that type, such as displaying an image or a PDF file with images and proper layout. Currently used by the Application viewer.

Level 4 - Used for type-specific file content viewers that are not optimized. For example, displaying only the plain text from a PDF would be at this level, but displaying the same PDF with images and layout would be level 5. Currently used by the Text viewer that returns text from Solr.

Level 3 - Used for viewing Data Artifacts that refer to files and the user may want to view the files more than the artifact itself. This is currently used by the Data Artifact viewer when a Web Download artifact is selected.

Level 2 - Used for viewing Analysis Results. This is a lower priority than Data Artifacts and file content because Analysis Results are used to identify content of interest and therefore the content itself should be shown. Currently used by the Analysis Results viewer. * Level 1 - Used for metadata viewers that give more information and context about the primary file or artifact. Currently used by Metadata, Annotations, Context, Other Occurrences, and OS Account.

Level 0 - Used for general purpose file content viewers that are not file specific and will always be enabled. Currently used by Text/Strings and Hex.

nodeNode to check for preference
an int (0-10) higher return means the viewer has higher priority

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 359 of file

static boolean org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.isSourceContent ( Content  content)

Metric for determining if content is parent source content.

contentThe content.
True if this content should be used for source content.

Definition at line 514 of file

boolean org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.isSupported ( Node  node)

Checks whether the given node is supported by the viewer. This will be used to enable or disable the tab for the viewer.

nodeNode to check for support
True if the node can be displayed / processed, else false

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 340 of file

References org.sleuthkit.autopsy.casemodule.Case.getCurrentCaseThrows(), and org.sleuthkit.autopsy.casemodule.Case.getSleuthkitCase().

void org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.nextPageButtonActionPerformed ( java.awt.event.ActionEvent  evt)

Definition at line 250 of file

void org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.prevPageButtonActionPerformed ( java.awt.event.ActionEvent  evt)

Definition at line 257 of file

void org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.resetComponent ( )

Resets the contents of the viewer / component.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 335 of file

void org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.resetComponents ( )

Resets the components to an empty view state.

Definition at line 282 of file

void org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.setArtifactContents ( List< DataArtifact >  artifactList)

Populate the cache of artifacts represented as ResultsTableArtifacts.

artifactListA list of ResultsTableArtifact representations of artifacts.

Definition at line 492 of file

void org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.setNode ( Node  selectedNode)

Autopsy will call this when this panel is focused with the file that should be analyzed. When called with null, must clear all references to previous nodes.

selectedNodethe node which is used to determine what is displayed in this viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 296 of file

synchronized void org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.startNewTask ( SwingWorker< ViewUpdate, Void >  task)

Start a new task on its own background thread, canceling the previous task.

taskA new SwingWorker object to execute as a background thread.

Definition at line 472 of file

void org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.updateView ( ViewUpdate  viewUpdate)

Called from queued SwingWorker done() methods on the EDT thread, so doesn't need to be synchronized.

viewUpdateA simple container for display update information from a background thread.

Definition at line 436 of file

References org.sleuthkit.autopsy.contentviewers.artifactviewers.ArtifactContentViewer.getComponent(), and org.sleuthkit.autopsy.contentviewers.artifactviewers.ArtifactContentViewer.setArtifact().

Member Data Documentation

javax.swing.JPanel org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.artifactContentPanel

Definition at line 265 of file

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.artifactLabel

Definition at line 266 of file

List<DataArtifact> org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.artifactTableContents

Definition at line 79 of file

Node org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.currentNode

Definition at line 76 of file

int org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.currentPage = 1

Definition at line 77 of file

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.currentPageLabel

Definition at line 267 of file

SwingWorker<ViewUpdate, Void> org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.currentTask

Definition at line 80 of file

final String org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.ERROR_TEXT = NbBundle.getMessage(DataArtifactContentViewer.class, "DataArtifactContentViewer.errorText")

Definition at line 69 of file

javax.swing.Box.Filler org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.filler1

Definition at line 268 of file

final Collection<ArtifactContentViewer> org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.knowArtifactViewers = new HashSet<>(Lookup.getDefault().lookupAll(ArtifactContentViewer.class))

Definition at line 82 of file

final int org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.LESS_PREFERRED = ViewerPriority.viewerPriority.LevelThree.getFlag()

Definition at line 72 of file

final Object org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.lock = new Object()

Definition at line 78 of file

final Logger org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.logger = Logger.getLogger(DataArtifactContentViewer.class.getName())

Definition at line 67 of file

javax.swing.JPanel org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.menuBar

Definition at line 269 of file

final int org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.MORE_PREFERRED = ViewerPriority.viewerPriority.LevelSeven.getFlag()

Definition at line 74 of file

javax.swing.JButton org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.nextPageButton

Definition at line 270 of file

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.ofLabel

Definition at line 271 of file

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.pageLabel

Definition at line 272 of file

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.pageLabel2

Definition at line 273 of file

javax.swing.JButton org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.prevPageButton

Definition at line 274 of file

javax.swing.JScrollPane org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.scrollPane

Definition at line 275 of file

final long org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.serialVersionUID = 1L

Definition at line 61 of file

javax.swing.JLabel org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.totalPageLabel

Definition at line 276 of file

final String org.sleuthkit.autopsy.corecomponents.DataArtifactContentViewer.WAIT_TEXT = NbBundle.getMessage(DataArtifactContentViewer.class, "DataArtifactContentViewer.waitText")

Definition at line 68 of file

The documentation for this class was generated from the following file:

Copyright © 2012-2022 Basis Technology. Generated on: Tue Feb 6 2024
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.