Autopsy  3.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
Public Member Functions | Private Attributes | List of all members
org.sleuthkit.autopsy.timeline.events.FilteredEventsModel Class Reference

Public Member Functions

 FilteredEventsModel (EventsRepository repo, ReadOnlyObjectProperty< ZoomParams > currentStateProperty)
 
Interval getBoundingEventsInterval ()
 
synchronized ReadOnlyObjectProperty< ZoomParamsgetRequestedZoomParamters ()
 
TimeLineEvent getEventById (Long eventID)
 
Set< Long > getEventIDs (Interval timeRange, Filter filter)
 
Map< EventType, Long > getEventCounts (Interval timeRange)
 
synchronized ReadOnlyObjectProperty< Interval > timeRange ()
 
synchronized ReadOnlyObjectProperty< DescriptionLODdescriptionLOD ()
 
synchronized ReadOnlyObjectProperty< Filterfilter ()
 
final Interval getSpanningInterval ()
 
Interval getSpanningInterval (Collection< Long > eventIDs)
 
final Long getMinTime ()
 
final Long getMaxTime ()
 
List< AggregateEventgetAggregatedEvents ()
 
List< AggregateEventgetAggregatedEvents (ZoomParams params)
 
synchronized ReadOnlyObjectProperty< EventTypeZoomLeveleventTypeZoom ()
 
synchronized EventTypeZoomLevel getEventTypeZoom ()
 
DescriptionLOD getDescriptionLOD ()
 

Private Attributes

final ReadOnlyObjectWrapper< Interval > requestedTimeRange = new ReadOnlyObjectWrapper<>()
 
final ReadOnlyObjectWrapper< FilterrequestedFilter = new ReadOnlyObjectWrapper<>(Filter.getDefaultFilter())
 
final ReadOnlyObjectWrapper< EventTypeZoomLevelrequestedTypeZoom = new ReadOnlyObjectWrapper<>(EventTypeZoomLevel.BASE_TYPE)
 
final ReadOnlyObjectWrapper< DescriptionLODrequestedLOD = new ReadOnlyObjectWrapper<>(DescriptionLOD.SHORT)
 
final ReadOnlyObjectWrapper< ZoomParamsrequestedZoomParamters = new ReadOnlyObjectWrapper<>()
 
final EventsRepository repo
 

Detailed Description

This class acts as the model for a TimeLineView

Views can register listeners on properties returned by methods.

This class is implemented as a filtered view into an underlying EventsRepository.

TODO: as many methods as possible should cache their results so as to avoid unnecessary db calls through the EventsRepository -jm

Concurrency Policy: repo is internally synchronized, so methods that only access the repo atomicaly do not need further synchronization

all other member state variables should only be accessed with intrinsic lock of containing FilteredEventsModel held. Many methods delegate to a task submitted to the dbQueryThread executor. These methods should synchronize on this object, and the tasks should too. Since the tasks execute asynchronously from the invoking methods, the methods will return and release the lock for the tasks to obtain.

Definition at line 62 of file FilteredEventsModel.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.FilteredEventsModel ( EventsRepository  repo,
ReadOnlyObjectProperty< ZoomParams currentStateProperty 
)

Member Function Documentation

synchronized ReadOnlyObjectProperty<DescriptionLOD> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.descriptionLOD ( )
synchronized ReadOnlyObjectProperty<EventTypeZoomLevel> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.eventTypeZoom ( )
synchronized ReadOnlyObjectProperty<Filter> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.filter ( )
List<AggregateEvent> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getAggregatedEvents ( )
List<AggregateEvent> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getAggregatedEvents ( ZoomParams  params)
Parameters
aggregation
Returns
a list of aggregated events that are within the requested time range and pass the requested filter, using the given aggregation to control the grouping of events

Definition at line 236 of file FilteredEventsModel.java.

References org.sleuthkit.autopsy.timeline.events.db.EventsRepository.getAggregatedEvents(), and org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.repo.

Interval org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getBoundingEventsInterval ( )
DescriptionLOD org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getDescriptionLOD ( )
TimeLineEvent org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getEventById ( Long  eventID)
Map<EventType, Long> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getEventCounts ( Interval  timeRange)
Set<Long> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getEventIDs ( Interval  timeRange,
Filter  filter 
)
synchronized EventTypeZoomLevel org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getEventTypeZoom ( )
final Long org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getMaxTime ( )
Returns
the time (in seconds from unix epoch) of the absolutely last event available from the repository, ignoring any filters or requested ranges

Definition at line 204 of file FilteredEventsModel.java.

References org.sleuthkit.autopsy.timeline.events.db.EventsRepository.getMaxTime(), and org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.repo.

Referenced by org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getSpanningInterval().

final Long org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getMinTime ( )
Returns
the time (in seconds from unix epoch) of the absolutely first event available from the repository, ignoring any filters or requested ranges

Definition at line 195 of file FilteredEventsModel.java.

References org.sleuthkit.autopsy.timeline.events.db.EventsRepository.getMinTime(), and org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.repo.

Referenced by org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getSpanningInterval().

synchronized ReadOnlyObjectProperty<ZoomParams> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getRequestedZoomParamters ( )
final Interval org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getSpanningInterval ( )
Interval org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.getSpanningInterval ( Collection< Long >  eventIDs)
synchronized ReadOnlyObjectProperty<Interval> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.timeRange ( )

Member Data Documentation

final EventsRepository org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.repo
private
final ReadOnlyObjectWrapper<Filter> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.requestedFilter = new ReadOnlyObjectWrapper<>(Filter.getDefaultFilter())
private
final ReadOnlyObjectWrapper< DescriptionLOD> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.requestedLOD = new ReadOnlyObjectWrapper<>(DescriptionLOD.SHORT)
private
final ReadOnlyObjectWrapper<Interval> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.requestedTimeRange = new ReadOnlyObjectWrapper<>()
private
final ReadOnlyObjectWrapper< EventTypeZoomLevel> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.requestedTypeZoom = new ReadOnlyObjectWrapper<>(EventTypeZoomLevel.BASE_TYPE)
private
final ReadOnlyObjectWrapper<ZoomParams> org.sleuthkit.autopsy.timeline.events.FilteredEventsModel.requestedZoomParamters = new ReadOnlyObjectWrapper<>()
private

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.