Autopsy  3.1
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 Class Reference


class  DBPopulationWorker

Public Member Functions

Interval getBoundingEventsInterval (Interval timeRange, Filter filter)
FilteredEventsModel getEventsModel ()
 EventsRepository (ReadOnlyObjectProperty< ZoomParams > currentStateProperty)
Long getMaxTime ()
Long getMinTime ()
void recordLastArtifactID (long lastArtfID)
void recordWasIngestRunning (Boolean wasIngestRunning)
void recordLastObjID (Long lastObjID)
boolean getWasIngestRunning ()
Long getLastObjID ()
long getLastArtfactID ()
TimeLineEvent getEventById (Long eventID)
List< AggregateEventgetAggregatedEvents (ZoomParams params)
Map< EventType, Long > countEvents (ZoomParams params)
Set< Long > getEventIDs (Interval timeRange, Filter filter)
Interval getSpanningInterval (Collection< Long > eventIDs)
synchronized void rebuildRepository (Runnable r)

Private Member Functions

void invalidateCaches ()

Private Attributes

final EventDB eventDB
SwingWorker< Void, ProgressWindow.ProgressUpdate > dbPopulationWorker
final LoadingCache< Object, Long > maxCache
final LoadingCache< Object, Long > minCache
final FilteredEventsModel modelInstance
final LoadingCache< Long, TimeLineEventidToEventCache
final LoadingCache< ZoomParams, Map< EventType, Long > > eventCountsCache
final LoadingCache< ZoomParams, List< AggregateEvent > > aggregateEventsCache

Static Private Attributes

static final String FILES_AND_DIRS_WHERE_CLAUSE = "name != '.' AND name != '..'"
static final Logger LOGGER = Logger.getLogger(EventsRepository.class.getName())

Detailed Description

Provides public API (over EventsDB) to access events. In theory this insulates the rest of the timeline module form the details of the db implementation. Since there are no other implementations of the database or clients of this class, and no Java Interface defined yet, in practice this just delegates everything to the eventDB

Concurrency Policy:

Since almost everything just delegates to the EventDB, which is internally synchronized, we only have to worry about rebuildRepository() which we synchronize on our intrinsic lock.

Definition at line 73 of file

Constructor & Destructor Documentation ( ReadOnlyObjectProperty< ZoomParams currentStateProperty)

Member Function Documentation

Map<EventType, Long> ( ZoomParams  params)
List<AggregateEvent> ( ZoomParams  params)
Interval ( Interval  timeRange,
Filter  filter 
TimeLineEvent ( Long  eventID)
Set<Long> ( Interval  timeRange,
Filter  filter 
FilteredEventsModel ( )
a FilteredEvetns object with this repository as underlying source of events

Definition at line 104 of file


Referenced by org.sleuthkit.autopsy.timeline.TimeLineController.TimeLineController().

long ( )

Definition at line 159 of file

Long ( )

Definition at line 156 of file

Long ( )
Long ( )
Interval ( Collection< Long >  eventIDs)
boolean ( )

Definition at line 152 of file

void ( )
synchronized void ( Runnable  r)
void ( long  lastArtfID)

Definition at line 140 of file

void ( Long  lastObjID)

Definition at line 148 of file

void ( Boolean  wasIngestRunning)

Definition at line 144 of file

Member Data Documentation

final LoadingCache<ZoomParams, List<AggregateEvent> >
SwingWorker<Void, ProgressWindow.ProgressUpdate>
final LoadingCache<ZoomParams, Map<EventType, Long> >
final EventDB

Definition at line 77 of file

final String = "name != '.' AND name != '..'"

Definition at line 75 of file

final LoadingCache<Long, TimeLineEvent>
final Logger = Logger.getLogger(EventsRepository.class.getName())

Definition at line 79 of file

final LoadingCache<Object, Long>
final LoadingCache<Object, Long>
final FilteredEventsModel

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

Copyright © 2012-2015 Basis Technology. Generated on: Mon Oct 19 2015
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.