Autopsy  4.7.0
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 ()
 
String getTitle ()
 
String getToolTip ()
 
int isPreferred (Node node)
 
boolean isSupported (Node node)
 
void resetComponent ()
 
void setNode (Node selectedNode)
 

Private Member Functions

FileTypeViewer getSupportingViewer (String mimeType)
 
void initComponents ()
 

Private Attributes

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

Static Private Attributes

static final int CONFIDENCE_LEVEL = 5
 
static final FileTypeViewer[] KNOWN_VIEWERS
 
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 60 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 161 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.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 166 of file FileViewer.java.

FileTypeViewer org.sleuthkit.autopsy.contentviewers.FileViewer.getSupportingViewer ( String  mimeType)
private

Get the FileTypeViewer for a given mimetype

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

Definition at line 85 of file FileViewer.java.

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

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

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 150 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.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 156 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 96 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 7 - Based on the artifact, if any, in the selected node and specific to an artifact type or types. Current content viewers that can return level 7 are the Messages tab (only supported for email and SMS) and the Indexed Text tab when the selected node is a Keyword Search hit.

Level 6 - Based on the artifact, if any, in the selected node but not restricted to particular types. The current content viewer that can return level 6 is the Results tab. It returns this level for most artifact types, unless the associated file is assumed to be of greater interest (for example, a Hash Set Hit will not be level 6 because the file itself is of greater interest).

Level 5 - Based on the file in the selected node and very specific to the file type. The current content viewer that will return level 5 is the Application tab, which supports media files (such as images) and certain types of databases.

Level 4 - Based on the file in the selected node but fairly general. Currently this is the level returned by the Indexed Text tab if Keyword Search has been run (unless the node is a Keyword Search hit or a Credit Card account). This is the default tab for most files.

Level 3 - Based on the artifact, if any, in the selected node where the artifact is thought to be of less interest than the associated file. This level is returned by the Results tab for artifacts like Hash Set Hits.

Level 1 - Very general and should always be available. The Hex, Strings, and Metadata tabs are all this level

Level 0 - For cases where the content viewer should never be displayed by default.

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 213 of file FileViewer.java.

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

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 181 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 171 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.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 106 of file FileViewer.java.

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

Member Data Documentation

final int org.sleuthkit.autopsy.contentviewers.FileViewer.CONFIDENCE_LEVEL = 5
staticprivate

Definition at line 42 of file FileViewer.java.

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

Definition at line 49 of file FileViewer.java.

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

Definition at line 55 of file FileViewer.java.

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

Definition at line 44 of file FileViewer.java.

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

Definition at line 46 of file FileViewer.java.

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

Definition at line 43 of file FileViewer.java.


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

Copyright © 2012-2016 Basis Technology. Generated on: Mon Jun 18 2018
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.