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

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

Classes

class  UniquePathKey
 

Public Member Functions

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

Private Member Functions

void addOrUpdateNodeData (final Case autopsyCase, Map< UniquePathKey, OtherOccurrenceNodeInstanceData > nodeDataMap, AbstractFile newFile) throws TskCoreException, CentralRepoException
 
void customizeComponents ()
 
AbstractFile getAbstractFileFromNode (Node node)
 
BlackboardArtifact getBlackboardArtifactFromNode (Node node)
 
String getCaseCreatedDate (int caseTableRowIdx)
 
List< AbstractFile > getCaseDbMatches (CorrelationAttributeInstance corAttr, Case openCase) throws NoCurrentCaseException, TskCoreException, CentralRepoException
 
Map< UniquePathKey, OtherOccurrenceNodeInstanceData > getCorrelatedInstances (CorrelationAttributeInstance corAttr, String dataSourceName, String deviceId)
 
Collection< CorrelationAttributeInstancegetCorrelationAttributesFromNode (Node node)
 
void initComponents ()
 
String makeDataSourceString (String caseUUID, String deviceId, String dataSourceName)
 
void populateTable (Node node)
 
void reset ()
 
void rightClickPopupMenuPopupMenuWillBecomeVisible (javax.swing.event.PopupMenuEvent evt)
 
void saveToCSV () throws NoCurrentCaseException
 
void setEarliestCaseDate ()
 
void showCaseDetails (int selectedRowViewIdx)
 
void showCommonalityDetails ()
 
void updateOnCaseSelection ()
 
void updateOnDataSourceSelection ()
 
void updateOnFileSelection ()
 
void writeOtherOccurrencesToFileAsCSV (File destFile)
 

Private Attributes

javax.swing.JSplitPane caseDatasourceFileSplitPane
 
javax.swing.JSplitPane caseDatasourceSplitPane
 
javax.swing.JScrollPane caseScrollPane
 
javax.swing.JTable casesTable
 
final OtherOccurrencesCasesTableModel casesTableModel
 
final Collection< CorrelationAttributeInstancecorrelationAttributes
 
javax.swing.JFileChooser CSVFileChooser
 
String dataSourceName = ""
 
javax.swing.JScrollPane dataSourceScrollPane
 
javax.swing.JTable dataSourcesTable
 
final OtherOccurrencesDataSourcesTableModel dataSourcesTableModel
 
javax.swing.JScrollPane detailsPanelScrollPane
 
String deviceId = ""
 
javax.swing.JLabel earliestCaseDate
 
javax.swing.JLabel earliestCaseLabel
 
javax.swing.JMenuItem exportToCSVMenuItem
 
AbstractFile file
 
javax.swing.JTable filesTable
 
final OtherOccurrencesFilesTableModel filesTableModel
 
javax.swing.JScrollPane filesTableScrollPane
 
javax.swing.Box.Filler filler1
 
javax.swing.JLabel foundInLabel
 
javax.swing.JPanel jPanel1
 
OccurrencePanel occurrencePanel
 
javax.swing.JPopupMenu rightClickPopupMenu
 
javax.swing.JMenuItem showCaseDetailsMenuItem
 
javax.swing.JMenuItem showCommonalityMenuItem
 
javax.swing.JPanel tableContainerPanel
 
javax.swing.JSplitPane tablesViewerSplitPane
 

Static Private Attributes

static final Logger LOGGER = Logger.getLogger(DataContentViewerOtherCases.class.getName())
 
static final CorrelationCaseWrapper NO_ARTIFACTS_CASE = new CorrelationCaseWrapper(Bundle.DataContentViewerOtherCases_table_noArtifacts())
 
static final CorrelationCaseWrapper NO_RESULTS_CASE = new CorrelationCaseWrapper(Bundle.DataContentViewerOtherCases_table_noResultsFound())
 
static final long serialVersionUID = -1L
 
static final String UUID_PLACEHOLDER_STRING = "NoCorrelationAttributeInstance"
 

Detailed Description

View correlation results from other cases

Definition at line 89 of file DataContentViewerOtherCases.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.DataContentViewerOtherCases ( )

Creates new form DataContentViewerOtherCases

Definition at line 111 of file DataContentViewerOtherCases.java.

Member Function Documentation

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.addOrUpdateNodeData ( final Case  autopsyCase,
Map< UniquePathKey, OtherOccurrenceNodeInstanceData >  nodeDataMap,
AbstractFile  newFile 
) throws TskCoreException, CentralRepoException
private

Adds the file to the nodeDataMap map if it does not already exist

Parameters
autopsyCase
nodeDataMap
newFile
Exceptions
TskCoreException
CentralRepoException

Definition at line 661 of file DataContentViewerOtherCases.java.

DataContentViewer org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.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 363 of file DataContentViewerOtherCases.java.

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.customizeComponents ( )
private
AbstractFile org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.getAbstractFileFromNode ( Node  node)
private

Get the associated AbstractFile from a node, if it exists.

Parameters
nodeThe node
Returns
The associated AbstractFile, or null

Definition at line 414 of file DataContentViewerOtherCases.java.

BlackboardArtifact org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.getBlackboardArtifactFromNode ( Node  node)
private

Get the associated BlackboardArtifact from a node, if it exists.

Parameters
nodeThe node
Returns
The associated BlackboardArtifact, or null

Definition at line 391 of file DataContentViewerOtherCases.java.

String org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.getCaseCreatedDate ( int  caseTableRowIdx)
private
List<AbstractFile> org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.getCaseDbMatches ( CorrelationAttributeInstance  corAttr,
Case  openCase 
) throws NoCurrentCaseException, TskCoreException, CentralRepoException
private

Get all other abstract files in the current case with the same MD5 as the selected node.

Parameters
corAttrThe CorrelationAttribute containing the MD5 to search for
openCaseThe current case
Returns
List of matching AbstractFile objects
Exceptions
NoCurrentCaseException
TskCoreException
CentralRepoException

Definition at line 635 of file DataContentViewerOtherCases.java.

Component org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.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 368 of file DataContentViewerOtherCases.java.

Map<UniquePathKey, OtherOccurrenceNodeInstanceData> org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.getCorrelatedInstances ( CorrelationAttributeInstance  corAttr,
String  dataSourceName,
String  deviceId 
)
private

Query the central repo database (if enabled) and the case database to find all artifact instances correlated to the given central repository artifact. If the central repo is not enabled, this will only return files from the current case with matching MD5 hashes.

Parameters
corAttrCorrelationAttribute to query for
dataSourceNameData source to filter results
deviceIdDevice Id to filter results
Returns
A collection of correlated artifact instances

Definition at line 570 of file DataContentViewerOtherCases.java.

References org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository.getArtifactInstancesByTypeValue(), org.sleuthkit.autopsy.centralrepository.datamodel.CorrelationAttributeInstance.getCorrelationType(), org.sleuthkit.autopsy.centralrepository.datamodel.CorrelationAttributeInstance.getCorrelationValue(), org.sleuthkit.autopsy.casemodule.Case.getCurrentCaseThrows(), org.sleuthkit.autopsy.centralrepository.datamodel.CorrelationAttributeInstance.Type.getDisplayName(), org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository.getInstance(), org.sleuthkit.autopsy.casemodule.Case.getName(), and org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository.isEnabled().

Collection<CorrelationAttributeInstance> org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.getCorrelationAttributesFromNode ( Node  node)
private
String org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.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 353 of file DataContentViewerOtherCases.java.

String org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.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 358 of file DataContentViewerOtherCases.java.

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.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 960 of file DataContentViewerOtherCases.java.

int org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.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 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 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, Text, 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 378 of file DataContentViewerOtherCases.java.

boolean org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.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 695 of file DataContentViewerOtherCases.java.

References org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository.isEnabled().

String org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.makeDataSourceString ( String  caseUUID,
String  deviceId,
String  dataSourceName 
)
private

Create a unique string to be used as a key for deduping data sources as best as possible

Definition at line 795 of file DataContentViewerOtherCases.java.

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.populateTable ( Node  node)
private
void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.reset ( )
private

Reset the UI and clear cached data.

Definition at line 338 of file DataContentViewerOtherCases.java.

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.resetComponent ( )

Resets the contents of the viewer / component.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 373 of file DataContentViewerOtherCases.java.

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.rightClickPopupMenuPopupMenuWillBecomeVisible ( javax.swing.event.PopupMenuEvent  evt)
private
void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.saveToCSV ( ) throws NoCurrentCaseException
private
void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.setEarliestCaseDate ( )
private

Gets the list of Eam Cases and determines the earliest case creation date. Sets the label to display the earliest date string to the user.

Definition at line 529 of file DataContentViewerOtherCases.java.

References org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository.getCases(), org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository.getInstance(), and org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository.isEnabled().

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.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 712 of file DataContentViewerOtherCases.java.

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.showCaseDetails ( int  selectedRowViewIdx)
private
void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.showCommonalityDetails ( )
private
void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.updateOnCaseSelection ( )
private

Updates diplayed information to be correct for the current case selection

Definition at line 802 of file DataContentViewerOtherCases.java.

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

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.updateOnDataSourceSelection ( )
private

Updates diplayed information to be correct for the current data source selection

Definition at line 852 of file DataContentViewerOtherCases.java.

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.updateOnFileSelection ( )
private

Update the data displayed in the details section to be correct for the currently selected File

Definition at line 888 of file DataContentViewerOtherCases.java.

References org.sleuthkit.autopsy.centralrepository.contentviewer.OtherOccurrencesCasesTableModel.getValueAt().

void org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.writeOtherOccurrencesToFileAsCSV ( File  destFile)
private

Write data for all cases in the content viewer to a CSV file

Definition at line 308 of file DataContentViewerOtherCases.java.

Member Data Documentation

javax.swing.JSplitPane org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.caseDatasourceFileSplitPane
private

Definition at line 1146 of file DataContentViewerOtherCases.java.

javax.swing.JSplitPane org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.caseDatasourceSplitPane
private

Definition at line 1147 of file DataContentViewerOtherCases.java.

javax.swing.JScrollPane org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.caseScrollPane
private

Definition at line 1148 of file DataContentViewerOtherCases.java.

javax.swing.JTable org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.casesTable
private

Definition at line 1149 of file DataContentViewerOtherCases.java.

final OtherOccurrencesCasesTableModel org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.casesTableModel
private

Definition at line 97 of file DataContentViewerOtherCases.java.

final Collection<CorrelationAttributeInstance> org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.correlationAttributes
private

Definition at line 100 of file DataContentViewerOtherCases.java.

javax.swing.JFileChooser org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.CSVFileChooser
private

Definition at line 1145 of file DataContentViewerOtherCases.java.

String org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.dataSourceName = ""
private

Definition at line 101 of file DataContentViewerOtherCases.java.

javax.swing.JScrollPane org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.dataSourceScrollPane
private

Definition at line 1150 of file DataContentViewerOtherCases.java.

javax.swing.JTable org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.dataSourcesTable
private

Definition at line 1151 of file DataContentViewerOtherCases.java.

final OtherOccurrencesDataSourcesTableModel org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.dataSourcesTableModel
private

Definition at line 98 of file DataContentViewerOtherCases.java.

javax.swing.JScrollPane org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.detailsPanelScrollPane
private

Definition at line 1152 of file DataContentViewerOtherCases.java.

String org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.deviceId = ""
private

Definition at line 102 of file DataContentViewerOtherCases.java.

javax.swing.JLabel org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.earliestCaseDate
private

Definition at line 1153 of file DataContentViewerOtherCases.java.

javax.swing.JLabel org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.earliestCaseLabel
private

Definition at line 1154 of file DataContentViewerOtherCases.java.

javax.swing.JMenuItem org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.exportToCSVMenuItem
private

Definition at line 1155 of file DataContentViewerOtherCases.java.

AbstractFile org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.file
private

Could be null.

Definition at line 106 of file DataContentViewerOtherCases.java.

javax.swing.JTable org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.filesTable
private

Definition at line 1156 of file DataContentViewerOtherCases.java.

final OtherOccurrencesFilesTableModel org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.filesTableModel
private

Definition at line 96 of file DataContentViewerOtherCases.java.

javax.swing.JScrollPane org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.filesTableScrollPane
private

Definition at line 1157 of file DataContentViewerOtherCases.java.

javax.swing.Box.Filler org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.filler1
private

Definition at line 1158 of file DataContentViewerOtherCases.java.

javax.swing.JLabel org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.foundInLabel
private

Definition at line 1159 of file DataContentViewerOtherCases.java.

javax.swing.JPanel org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.jPanel1
private

Definition at line 1160 of file DataContentViewerOtherCases.java.

final Logger org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.LOGGER = Logger.getLogger(DataContentViewerOtherCases.class.getName())
staticprivate

Definition at line 93 of file DataContentViewerOtherCases.java.

final CorrelationCaseWrapper org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.NO_ARTIFACTS_CASE = new CorrelationCaseWrapper(Bundle.DataContentViewerOtherCases_table_noArtifacts())
staticprivate

Definition at line 94 of file DataContentViewerOtherCases.java.

final CorrelationCaseWrapper org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.NO_RESULTS_CASE = new CorrelationCaseWrapper(Bundle.DataContentViewerOtherCases_table_noResultsFound())
staticprivate

Definition at line 95 of file DataContentViewerOtherCases.java.

OccurrencePanel org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.occurrencePanel
private

Definition at line 99 of file DataContentViewerOtherCases.java.

javax.swing.JPopupMenu org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.rightClickPopupMenu
private

Definition at line 1161 of file DataContentViewerOtherCases.java.

final long org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.serialVersionUID = -1L
staticprivate

Definition at line 91 of file DataContentViewerOtherCases.java.

javax.swing.JMenuItem org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.showCaseDetailsMenuItem
private

Definition at line 1162 of file DataContentViewerOtherCases.java.

javax.swing.JMenuItem org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.showCommonalityMenuItem
private

Definition at line 1163 of file DataContentViewerOtherCases.java.

javax.swing.JPanel org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.tableContainerPanel
private

Definition at line 1164 of file DataContentViewerOtherCases.java.

javax.swing.JSplitPane org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.tablesViewerSplitPane
private

Definition at line 1165 of file DataContentViewerOtherCases.java.

final String org.sleuthkit.autopsy.centralrepository.contentviewer.DataContentViewerOtherCases.UUID_PLACEHOLDER_STRING = "NoCorrelationAttributeInstance"
staticprivate

Definition at line 92 of file DataContentViewerOtherCases.java.


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

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