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

Inherits org.sleuthkit.autopsy.datamodel.AbstractContentNode< BlackboardArtifact >.

Inherited by org.sleuthkit.autopsy.communications.relationships.CallLogNode, org.sleuthkit.autopsy.communications.relationships.ContactNode, org.sleuthkit.autopsy.communications.relationships.MessageNode, and org.sleuthkit.autopsy.datamodel.accounts.Accounts.AccountArtifactNode.

Public Member Functions

 BlackboardArtifactNode (BlackboardArtifact artifact, String iconPath)
 
 BlackboardArtifactNode (BlackboardArtifact artifact)
 
void addNodeProperty (NodeProperty<?> np)
 
Action[] getActions (boolean context)
 
BlackboardArtifact getArtifact ()
 
getContent ()
 
List< Content > getContentChildren ()
 
int getContentChildrenCount ()
 
List< Long > getContentChildrenIds ()
 
String getItemType ()
 
String getName ()
 
String getSourceName ()
 
boolean hasContentChildren ()
 
boolean hasVisibleContentChildren ()
 
boolean isLeafTypeNode ()
 
int read (byte[] buf, long offset, long len) throws TskException
 
void setName (String name)
 

Static Public Member Functions

static boolean contentHasVisibleContentChildren (Content c)
 

Protected Member Functions

final void addCommentProperty (Sheet.Set sheetSet, List< Tag > tags, CorrelationAttributeInstance attribute)
 
final void addCountProperty (Sheet.Set sheetSet, CorrelationAttributeInstance attribute)
 
final void addScorePropertyAndDescription (Sheet.Set sheetSet, List< Tag > tags)
 
void addTagProperty (Sheet.Set sheetSet) throws MissingResourceException
 
final void addTagProperty (Sheet.Set sheetSet, List< Tag > tags)
 
Sheet createSheet ()
 
void finalize () throws Throwable
 
final List< Tag > getAllTagsFromDatabase ()
 
DataResultViewerTable.HasCommentStatus getCommentProperty (List< Tag > tags, CorrelationAttributeInstance attribute)
 
final CorrelationAttributeInstance getCorrelationAttributeInstance ()
 
Pair< Long, String > getCountPropertyAndDescription (Type attributeType, String attributeValue, String defaultDescription)
 
Pair< DataResultViewerTable.Score, String > getScorePropertyAndDescription (List< Tag > tags)
 
synchronized void updateSheet (NodeProperty<?>...newProps)
 

Static Protected Attributes

static final String NO_DESCR
 
static final String VALUE_LOADING
 

Private Member Functions

void addEmailMsgProperty (Map< String, Object > map, BlackboardAttribute attribute)
 
void fillPropertyMap (Map< String, Object > map, BlackboardArtifact artifact)
 
String getRootParentName ()
 
void removeListeners ()
 
void setDisplayName ()
 
void updateSheet ()
 

Static Private Member Functions

static Lookup createLookup (BlackboardArtifact artifact)
 

Private Attributes

final BlackboardArtifact artifact
 
Content associated = null
 
List< NodeProperty<?extends Object > > customProperties
 
final PropertyChangeListener pcl
 
final PropertyChangeListener weakPcl = WeakListeners.propertyChange(pcl, null)
 

Static Private Attributes

static final Set< Case.Events > CASE_EVENTS_OF_INTEREST
 
static Cache< Long, Content > contentCache
 
static final Logger logger = Logger.getLogger(BlackboardArtifactNode.class.getName())
 
static final Integer[] SHOW_FILE_METADATA
 
static final Integer[] SHOW_UNIQUE_PATH
 

Detailed Description

Node wrapping a blackboard artifact object. This is generated from several places in the tree.

Definition at line 85 of file BlackboardArtifactNode.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.BlackboardArtifactNode ( BlackboardArtifact  artifact,
String  iconPath 
)
org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.BlackboardArtifactNode ( BlackboardArtifact  artifact)

Construct blackboard artifact node from an artifact and using default icon for artifact type

Parameters
artifactartifact to encapsulate

Definition at line 213 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.artifact.

Member Function Documentation

final void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.addCommentProperty ( Sheet.Set  sheetSet,
List< Tag >  tags,
CorrelationAttributeInstance  attribute 
)
protected

Used by (subclasses of) BlackboardArtifactNode to add the comment property to their sheets.

Parameters
sheetSetthe modifiable Sheet.Set to add the property to
tagsthe list of tags associated with the file
attributethe correlation attribute associated with this artifact's associated file, null if central repo is not enabled
Deprecated:
Use the GetSCOTask to get this data on a background thread..., and then update the property sheet asynchronously

Definition at line 616 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getCommentProperty(), and org.sleuthkit.autopsy.datamodel.AbstractContentNode< BlackboardArtifact >.NO_DESCR.

final void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.addCountProperty ( Sheet.Set  sheetSet,
CorrelationAttributeInstance  attribute 
)
protected

Used by (subclasses of) BlackboardArtifactNode to add the Occurrences property to their sheets.

Parameters
sheetSetthe modifiable Sheet.Set to add the property to
attributecorrelation attribute instance
Deprecated:
Use the GetSCOTask to get this data on a background thread..., and then update the property sheet asynchronously

Definition at line 754 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.centralrepository.datamodel.CorrelationAttributeInstance.getCorrelationType(), org.sleuthkit.autopsy.centralrepository.datamodel.CorrelationAttributeInstance.getCorrelationValue(), and org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getCountPropertyAndDescription().

void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.addEmailMsgProperty ( Map< String, Object >  map,
BlackboardAttribute  attribute 
)
private

Fill map with EmailMsg properties, not all attributes are filled

Parameters
mapmap with preserved ordering, where property names/values are put
attributeattribute to check/fill as property

Definition at line 875 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.associated, and org.sleuthkit.autopsy.datamodel.ContentUtils.getStringTime().

Referenced by org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.fillPropertyMap().

void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.addNodeProperty ( NodeProperty<?>  np)

Add an additional custom node property to that node before it is displayed

Parameters
npNodeProperty to add

Definition at line 815 of file BlackboardArtifactNode.java.

Referenced by org.sleuthkit.autopsy.datamodel.KeywordHits.createBlackboardArtifactNode().

final void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.addScorePropertyAndDescription ( Sheet.Set  sheetSet,
List< Tag >  tags 
)
protected

Used by (subclasses of) BlackboardArtifactNode to add the Score property to their sheets.

Parameters
sheetSetthe modifiable Sheet.Set to add the property to
tagsthe list of tags associated with the file
Deprecated:
Use the GetSCOTask to get this data on a background thread..., and then update the property sheet asynchronously

Definition at line 674 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getScorePropertyAndDescription().

void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.addTagProperty ( Sheet.Set  sheetSet) throws MissingResourceException
protected
final void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.addTagProperty ( Sheet.Set  sheetSet,
List< Tag >  tags 
)
protected

Used by (subclasses of) BlackboardArtifactNode to add the tags property to their sheets.

Parameters
sheetSetthe modifiable Sheet.Set returned by Sheet.get(Sheet.PROPERTIES)
tagsthe list of tags which should appear as the value for the property

Definition at line 580 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.datamodel.AbstractContentNode< BlackboardArtifact >.NO_DESCR.

static boolean org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.contentHasVisibleContentChildren ( Content  c)
staticinherited

Return true if the given content object has children. Useful for lazy loading.

Parameters
cThe content object to look for children on
Returns
true if has children

Definition at line 155 of file AbstractContentNode.java.

static Lookup org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.createLookup ( BlackboardArtifact  artifact)
staticprivate

Create a Lookup based on what is in the passed in artifact.

Parameters
artifactThe artifact to make a look up for.
Returns
A lookup with the artifact and possibly any associated content in it.

Definition at line 916 of file BlackboardArtifactNode.java.

Referenced by org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.BlackboardArtifactNode().

Sheet org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.createSheet ( )
protected
void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.fillPropertyMap ( Map< String, Object >  map,
BlackboardArtifact  artifact 
)
private

Fill map with Artifact properties

Parameters
mapmap with preserved ordering, where property names/values are put
artifactto extract properties from

Definition at line 831 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.addEmailMsgProperty(), org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.associated, and org.sleuthkit.autopsy.datamodel.ContentUtils.getStringTime().

Referenced by org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.createSheet().

void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.finalize ( ) throws Throwable
protected

The finalizer removes event listeners as the BlackboardArtifactNode is being garbage collected. Yes, we know that finalizers are considered to be "bad" but since the alternative also relies on garbage collection being run and we know that finalize will be called when the object is being GC'd it seems like this is a reasonable solution.

Exceptions
Throwable

Definition at line 227 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.removeListeners().

Action [] org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getActions ( boolean  context)
final List<Tag> org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getAllTagsFromDatabase ( )
protected
BlackboardArtifact org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getArtifact ( )
DataResultViewerTable.HasCommentStatus org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getCommentProperty ( List< Tag >  tags,
CorrelationAttributeInstance  attribute 
)
protected
T org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.getContent ( )
inherited

Return the content data associated with this node

Returns
the content object wrapped by this node

Definition at line 123 of file AbstractContentNode.java.

List<Content> org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.getContentChildren ( )
inherited

Return children of the underlying content.

Returns
list of content children content.

Definition at line 235 of file AbstractContentNode.java.

int org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.getContentChildrenCount ( )
inherited

Get count of the underlying content object children.

Useful for lazy loading.

Returns
content children count

Definition at line 257 of file AbstractContentNode.java.

List<Long> org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.getContentChildrenIds ( )
inherited

Return ids of children of the underlying content. The ids can be treated as keys - useful for lazy loading.

Returns
list of content ids of children content.

Definition at line 215 of file AbstractContentNode.java.

final CorrelationAttributeInstance org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getCorrelationAttributeInstance ( )
protected

Gets the correlation attribute for the associated file

Returns
the correlation attribute for the file associated with this BlackboardArtifactNode

Definition at line 592 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.centralrepository.datamodel.EamArtifactUtil.getInstanceFromContent(), and org.sleuthkit.autopsy.centralrepository.datamodel.EamDb.isEnabled().

Pair<Long, String> org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getCountPropertyAndDescription ( Type  attributeType,
String  attributeValue,
String  defaultDescription 
)
protected

Gets the Occurrences property for the node.

Parameters
attributeTypethe type of the attribute to count
attributeValuethe value of the attribute to count
defaultDescriptiona description to use when none is determined by the getCountPropertyAndDescription method
Returns
count and description

Definition at line 772 of file BlackboardArtifactNode.java.

References org.sleuthkit.autopsy.centralrepository.datamodel.EamDb.getCountUniqueCaseDataSourceTuplesHavingTypeValue(), org.sleuthkit.autopsy.centralrepository.datamodel.CorrelationAttributeInstance.Type.getDisplayName(), and org.sleuthkit.autopsy.centralrepository.datamodel.EamDb.getInstance().

Referenced by org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.addCountProperty().

String org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getItemType ( )

Definition at line 938 of file BlackboardArtifactNode.java.

String org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.getName ( )
inherited

Definition at line 133 of file AbstractContentNode.java.

String org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getRootParentName ( )
private
Pair<DataResultViewerTable.Score, String> org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getScorePropertyAndDescription ( List< Tag >  tags)
protected
String org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.getSourceName ( )

Return the name of the associated source file/content

Returns
source file/content name

Definition at line 327 of file BlackboardArtifactNode.java.

Referenced by org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.createSheet().

boolean org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.hasContentChildren ( )
inherited

Return true if the underlying content object has children Useful for lazy loading.

Returns
true if has children

Definition at line 195 of file AbstractContentNode.java.

boolean org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.hasVisibleContentChildren ( )
inherited

Return true if the underlying content object has children Useful for lazy loading.

Returns
true if has children

Definition at line 143 of file AbstractContentNode.java.

boolean org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.isLeafTypeNode ( )

Definition at line 933 of file BlackboardArtifactNode.java.

int org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.read ( byte[]  buf,
long  offset,
long  len 
) throws TskException
inherited

Reads the content of this node (of the underlying content object).

Parameters
bufbuffer to read into
offsetthe starting offset in the content object
lenthe length to read
Returns
the bytes read
Exceptions
TskExceptionexception thrown if the requested part of content could not be read

Definition at line 283 of file AbstractContentNode.java.

void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.removeListeners ( )
private
void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.setDisplayName ( )
private

Set the filter node display name. The value will either be the file name or something along the lines of e.g. "Messages Artifact" for keyword hits on artifacts.

Definition at line 287 of file BlackboardArtifactNode.java.

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

Referenced by org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.BlackboardArtifactNode().

void org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.setName ( String  name)
inherited
synchronized void org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.updateSheet ( NodeProperty<?>...  newProps)
protectedinherited

Updates the values of the properties in the current property sheet with the new properties being passed in. Only if that property exists in the current sheet will it be applied. That way, we allow for subclasses to add their own (or omit some!) properties and we will not accidentally disrupt their UI.

Race condition if not synchronized. Only one update should be applied at a time.

Parameters
newPropsNew file property instances to be updated in the current sheet.

Definition at line 300 of file AbstractContentNode.java.

void org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.updateSheet ( )
private

Member Data Documentation

final BlackboardArtifact org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.artifact
private
Content org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.associated = null
private
final Set<Case.Events> org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.CASE_EVENTS_OF_INTEREST
staticprivate
Initial value:
= EnumSet.of(Case.Events.BLACKBOARD_ARTIFACT_TAG_ADDED,
Case.Events.BLACKBOARD_ARTIFACT_TAG_DELETED,
Case.Events.CONTENT_TAG_ADDED,
Case.Events.CONTENT_TAG_DELETED,
Case.Events.CURRENT_CASE,
Case.Events.CR_COMMENT_CHANGED)

Definition at line 88 of file BlackboardArtifactNode.java.

Referenced by org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.BlackboardArtifactNode(), and org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.removeListeners().

Cache<Long, Content> org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.contentCache
staticprivate
Initial value:
= CacheBuilder.newBuilder()
.expireAfterWrite(1, TimeUnit.MINUTES).
build()

Definition at line 95 of file BlackboardArtifactNode.java.

List<NodeProperty<? extends Object> > org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.customProperties
private

Definition at line 102 of file BlackboardArtifactNode.java.

final Logger org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.logger = Logger.getLogger(BlackboardArtifactNode.class.getName())
staticprivate

Definition at line 87 of file BlackboardArtifactNode.java.

final String org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.NO_DESCR
staticprotectedinherited
final PropertyChangeListener org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.pcl
private

Definition at line 120 of file BlackboardArtifactNode.java.

final Integer [] org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.SHOW_FILE_METADATA
staticprivate
Initial value:
= new Integer[]{
BlackboardArtifact.ARTIFACT_TYPE.TSK_INTERESTING_FILE_HIT.getTypeID(),}

Definition at line 117 of file BlackboardArtifactNode.java.

final Integer [] org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.SHOW_UNIQUE_PATH
staticprivate
Initial value:
= new Integer[]{
BlackboardArtifact.ARTIFACT_TYPE.TSK_HASHSET_HIT.getTypeID(),
BlackboardArtifact.ARTIFACT_TYPE.TSK_KEYWORD_HIT.getTypeID(),
BlackboardArtifact.ARTIFACT_TYPE.TSK_INTERESTING_FILE_HIT.getTypeID(),
BlackboardArtifact.ARTIFACT_TYPE.TSK_INTERESTING_ARTIFACT_HIT.getTypeID(),}

Definition at line 108 of file BlackboardArtifactNode.java.

final String org.sleuthkit.autopsy.datamodel.AbstractContentNode< T extends Content >.VALUE_LOADING
staticprotectedinherited
final PropertyChangeListener org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode.weakPcl = WeakListeners.propertyChange(pcl, null)
private

We pass a weak reference wrapper around the listener to the event publisher. This allows Netbeans to delete the node when the user navigates to another part of the tree (previously, nodes were not being deleted because the event publisher was holding onto a strong reference to the listener. We need to hold onto the weak reference here to support unregistering of the listener in removeListeners() below.

Definition at line 178 of file BlackboardArtifactNode.java.


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

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