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()