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.

Classes

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 DataArtifactContentViewer.java.

Constructor & Destructor Documentation

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

Definition at line 84 of file DataArtifactContentViewer.java.

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.

Returns
A new instance of the viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 325 of file DataArtifactContentViewer.java.

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

Retrieve the cache of artifact represented as ResultsTableArtifacts.

Returns
A list of artifacts.

Definition at line 503 of file DataArtifactContentViewer.java.

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.

Returns
the component which is displayed for this viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 330 of file DataArtifactContentViewer.java.

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

Definition at line 394 of file DataArtifactContentViewer.java.

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

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

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

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

Definition at line 61 of file DataContentViewer.java.

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.

Returns
the title of DataContentViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 315 of file DataArtifactContentViewer.java.

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

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

Returns
the tooltip for this TextViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 320 of file DataArtifactContentViewer.java.

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

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 DataArtifactContentViewer.java.

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.

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

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 359 of file DataArtifactContentViewer.java.

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

Metric for determining if content is parent source content.

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

Definition at line 514 of file DataArtifactContentViewer.java.

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.

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

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 340 of file DataArtifactContentViewer.java.

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)
private

Definition at line 250 of file DataArtifactContentViewer.java.

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

Definition at line 257 of file DataArtifactContentViewer.java.

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 DataArtifactContentViewer.java.

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

Resets the components to an empty view state.

Definition at line 282 of file DataArtifactContentViewer.java.

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

Populate the cache of artifacts represented as ResultsTableArtifacts.

Parameters
artifactListA list of ResultsTableArtifact representations of artifacts.

Definition at line 492 of file DataArtifactContentViewer.java.

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.

Parameters
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 DataArtifactContentViewer.java.

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

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

Parameters
taskA new SwingWorker object to execute as a background thread.

Definition at line 472 of file DataArtifactContentViewer.java.

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

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

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

Definition at line 436 of file DataArtifactContentViewer.java.

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
private

Definition at line 265 of file DataArtifactContentViewer.java.

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

Definition at line 266 of file DataArtifactContentViewer.java.

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

Definition at line 79 of file DataArtifactContentViewer.java.

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

Definition at line 76 of file DataArtifactContentViewer.java.

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

Definition at line 77 of file DataArtifactContentViewer.java.

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

Definition at line 267 of file DataArtifactContentViewer.java.

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

Definition at line 80 of file DataArtifactContentViewer.java.

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

Definition at line 69 of file DataArtifactContentViewer.java.

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

Definition at line 268 of file DataArtifactContentViewer.java.

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

Definition at line 82 of file DataArtifactContentViewer.java.

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

Definition at line 72 of file DataArtifactContentViewer.java.

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

Definition at line 78 of file DataArtifactContentViewer.java.

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

Definition at line 67 of file DataArtifactContentViewer.java.

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

Definition at line 269 of file DataArtifactContentViewer.java.

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

Definition at line 74 of file DataArtifactContentViewer.java.

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

Definition at line 270 of file DataArtifactContentViewer.java.

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

Definition at line 271 of file DataArtifactContentViewer.java.

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

Definition at line 272 of file DataArtifactContentViewer.java.

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

Definition at line 273 of file DataArtifactContentViewer.java.

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

Definition at line 274 of file DataArtifactContentViewer.java.

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

Definition at line 275 of file DataArtifactContentViewer.java.

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

Definition at line 61 of file DataArtifactContentViewer.java.

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

Definition at line 276 of file DataArtifactContentViewer.java.

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

Definition at line 68 of file DataArtifactContentViewer.java.


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.