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

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

Public Member Functions

 FileViewer ()
 
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

FileTypeViewer getSupportingViewer (AbstractFile file)
 
void initComponents ()
 

Private Attributes

final FileTypeViewer[] KNOWN_VIEWERS
 
FileTypeViewer lastViewer
 
final Map< String, FileTypeViewer > mimeTypeToViewerMap = new HashMap<>()
 

Static Private Attributes

static final Logger LOGGER = Logger.getLogger(FileViewer.class.getName())
 
static final long serialVersionUID = 1L
 

Detailed Description

Generic Application content viewer

Definition at line 40 of file FileViewer.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.contentviewers.FileViewer.FileViewer ( )

Creates new form ApplicationContentViewer

Definition at line 62 of file FileViewer.java.

Member Function Documentation

DataContentViewer org.sleuthkit.autopsy.contentviewers.FileViewer.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 166 of file FileViewer.java.

Component org.sleuthkit.autopsy.contentviewers.FileViewer.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 171 of file FileViewer.java.

FileTypeViewer org.sleuthkit.autopsy.contentviewers.FileViewer.getSupportingViewer ( AbstractFile  file)
private

Get the FileTypeViewer for a given file

Parameters
file
Returns
FileTypeViewer, null if no known content viewer supports the file

Definition at line 88 of file FileViewer.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.contentviewers.FileViewer.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 155 of file FileViewer.java.

String org.sleuthkit.autopsy.contentviewers.FileViewer.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 161 of file FileViewer.java.

void org.sleuthkit.autopsy.contentviewers.FileViewer.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 103 of file FileViewer.java.

int org.sleuthkit.autopsy.contentviewers.FileViewer.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 218 of file FileViewer.java.

References org.sleuthkit.autopsy.modules.filetypeid.FileTypeDetector.getMIMEType(), org.sleuthkit.autopsy.contentviewers.utils.ViewerPriority.viewerPriority.LevelFive, and org.sleuthkit.autopsy.contentviewers.utils.ViewerPriority.viewerPriority.LevelZero.

boolean org.sleuthkit.autopsy.contentviewers.FileViewer.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 186 of file FileViewer.java.

References org.sleuthkit.autopsy.modules.filetypeid.FileTypeDetector.getMIMEType().

void org.sleuthkit.autopsy.contentviewers.FileViewer.resetComponent ( )

Resets the contents of the viewer / component.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 176 of file FileViewer.java.

void org.sleuthkit.autopsy.contentviewers.FileViewer.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 112 of file FileViewer.java.

References org.sleuthkit.autopsy.modules.filetypeid.FileTypeDetector.getMIMEType().

Member Data Documentation

final FileTypeViewer [] org.sleuthkit.autopsy.contentviewers.FileViewer.KNOWN_VIEWERS
private
Initial value:
= new FileTypeViewer[]{
new SQLiteViewer(),
new PListViewer(),
new MediaFileViewer(),
new HtmlViewer(),
new WindowsRegistryViewer(),
new PDFViewer()
}

Definition at line 48 of file FileViewer.java.

FileTypeViewer org.sleuthkit.autopsy.contentviewers.FileViewer.lastViewer
private

Definition at line 57 of file FileViewer.java.

final Logger org.sleuthkit.autopsy.contentviewers.FileViewer.LOGGER = Logger.getLogger(FileViewer.class.getName())
staticprivate

Definition at line 43 of file FileViewer.java.

final Map<String, FileTypeViewer> org.sleuthkit.autopsy.contentviewers.FileViewer.mimeTypeToViewerMap = new HashMap<>()
private

Definition at line 45 of file FileViewer.java.

final long org.sleuthkit.autopsy.contentviewers.FileViewer.serialVersionUID = 1L
staticprivate

Definition at line 42 of file FileViewer.java.


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

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