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

Inherits org.sleuthkit.autopsy.datamodel.BaseChildFactory< BlackboardArtifact >, and org.sleuthkit.autopsy.guiutils.RefreshThrottler.Refresher.

Public Member Functions

boolean isRefreshRequired (PropertyChangeEvent evt)
 
void refresh ()
 

Static Public Member Functions

static void post (String nodeName, Object event) throws NoSuchEventBusException
 
static void register (String nodeName, Object subscriber)
 

Protected Member Functions

void addNotify ()
 
boolean createKeys (List< T > toPopulate)
 
Node createNodeForKey (BlackboardArtifact key)
 
void finalize () throws Throwable
 
List< BlackboardArtifact > makeKeys ()
 
void onAdd ()
 
void onRemove ()
 

Private Attributes

final long filteringDSObjId
 
final PropertyChangeListener pcl
 
final RefreshThrottler refreshThrottler = new RefreshThrottler(this)
 
final BlackboardArtifact.Type type
 
final PropertyChangeListener weakPcl = WeakListeners.propertyChange(pcl, null)
 

Static Private Attributes

static final Logger logger = Logger.getLogger(ArtifactFactory.class.getName())
 

Detailed Description

Creates children for a given artifact type

Definition at line 588 of file Artifacts.java.

Member Function Documentation

void org.sleuthkit.autopsy.datamodel.BaseChildFactory< T extends Content >.addNotify ( )
protectedinherited

Definition at line 120 of file BaseChildFactory.java.

boolean org.sleuthkit.autopsy.datamodel.BaseChildFactory< T extends Content >.createKeys ( List< T >  toPopulate)
protectedinherited

For page change events and page size change events we simply return the previously calculated set of keys, otherwise we make a new set of keys.

Definition at line 149 of file BaseChildFactory.java.

Node org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.createNodeForKey ( BlackboardArtifact  key)
protected

Definition at line 653 of file Artifacts.java.

void org.sleuthkit.autopsy.datamodel.BaseChildFactory< T extends Content >.finalize ( ) throws Throwable
protectedinherited

Definition at line 125 of file BaseChildFactory.java.

boolean org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.isRefreshRequired ( PropertyChangeEvent  evt)

Determine whether the given event should result in a refresh.

Parameters
evt
Returns
true if event should trigger a refresh, otherwise false.

Checking for a current case is a stop gap measure until a different way of handling the closing of cases is worked out. Currently, remote events may be received for a case that is already closed.

Even with the check above, it is still possible that the case will be closed in a different thread before this code executes. If that happens, it is possible for the event to have a null oldValue.

Case is closed, do nothing.

Implements org.sleuthkit.autopsy.guiutils.RefreshThrottler.Refresher.

Definition at line 700 of file Artifacts.java.

References org.sleuthkit.autopsy.ingest.IngestManager.IngestModuleEvent.DATA_ADDED, and org.sleuthkit.autopsy.casemodule.Case.getCurrentCaseThrows().

List<BlackboardArtifact> org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.makeKeys ( )
protected
void org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.onAdd ( )
protected
void org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.onRemove ( )
protected
static void org.sleuthkit.autopsy.datamodel.BaseChildFactory< T extends Content >.post ( String  nodeName,
Object  event 
) throws NoSuchEventBusException
staticinherited

Post the given event for the given node name.

Parameters
nodeNameThe name of the node.
eventThe event to post.
Exceptions
org.sleuthkit.autopsy.datamodel.BaseChildFactory.NoSuchEventBusException

Definition at line 96 of file BaseChildFactory.java.

void org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.refresh ( )

The RefreshThrottler calls this method when the RefreshTask runs.

Implements org.sleuthkit.autopsy.guiutils.RefreshThrottler.Refresher.

Definition at line 695 of file Artifacts.java.

static void org.sleuthkit.autopsy.datamodel.BaseChildFactory< T extends Content >.register ( String  nodeName,
Object  subscriber 
)
staticinherited

Register the given subscriber for the given node name. Will create the event bus for the given node name if it does not exist.

Parameters
nodeNameThe name of the node.
subscriberThe subscriber to register.

Definition at line 78 of file BaseChildFactory.java.

Member Data Documentation

final long org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.filteringDSObjId
private
final Logger org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.logger = Logger.getLogger(ArtifactFactory.class.getName())
staticprivate

Definition at line 590 of file Artifacts.java.

final PropertyChangeListener org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.pcl
private
Initial value:
= (PropertyChangeEvent evt) -> {
String eventType = evt.getPropertyName();
if (eventType.equals(IngestManager.IngestJobEvent.COMPLETED.toString())
|| eventType.equals(IngestManager.IngestJobEvent.CANCELLED.toString())) {
try {
Case.getCurrentCaseThrows();
refresh(false);
} catch (NoCurrentCaseException notUsed) {
}
}
}

Definition at line 615 of file Artifacts.java.

final RefreshThrottler org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.refreshThrottler = new RefreshThrottler(this)
private

RefreshThrottler is used to limit the number of refreshes performed when CONTENT_CHANGED and DATA_ADDED ingest module events are received.

Definition at line 598 of file Artifacts.java.

final BlackboardArtifact.Type org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.type
private

Definition at line 591 of file Artifacts.java.

final PropertyChangeListener org.sleuthkit.autopsy.datamodel.Artifacts.ArtifactFactory.weakPcl = WeakListeners.propertyChange(pcl, null)
private

Definition at line 636 of file Artifacts.java.


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

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