19 package org.sleuthkit.autopsy.timeline.events;
21 import com.google.common.collect.Collections2;
22 import java.util.Collections;
23 import java.util.HashSet;
24 import java.util.List;
26 import javax.annotation.concurrent.Immutable;
27 import org.joda.time.Interval;
28 import org.openide.util.NbBundle;
40 final private Interval
span;
52 this.span = spanningInterval;
62 this.span = spanningInterval;
66 this.eventIDs =
new HashSet<>(Collections2.transform(events, Long::valueOf));
76 return Collections.unmodifiableSet(eventIDs);
98 throw new IllegalArgumentException(
"aggregate events are not compatible they have different types");
102 throw new IllegalArgumentException(
"aggregate events are not compatible they have different descriptions");
104 HashSet<Long> ids =
new HashSet<>(ag1.
getEventIDs());
static AggregateEvent merge(AggregateEvent ag1, AggregateEvent ag2)
AggregateEvent(Interval spanningInterval, EventType type, Set< Long > eventIDs, String description, DescriptionLOD lod)
AggregateEvent(Interval spanningInterval, EventType type, List< String > events, String description, DescriptionLOD lod)
static Interval span(Interval range, final Interval range2)
final Set< Long > eventIDs
Set< Long > getEventIDs()