19package org.sleuthkit.datamodel;
21import com.google.common.collect.ImmutableSet;
22import java.util.ArrayList;
23import java.util.Collections;
25import java.util.Optional;
40 return Optional.ofNullable(
null);
50 abstract static class TskObjectsEvent<T>
implements TskEvent {
52 private final List<T> dataModelObjects;
61 TskObjectsEvent(List<T> dataModelObjects) {
62 this.dataModelObjects =
new ArrayList<>();
63 this.dataModelObjects.addAll(dataModelObjects);
71 List<T> getDataModelObjects() {
72 return Collections.unmodifiableList(dataModelObjects);
81 public final static class AggregateScoresChangedEvent
extends TskObjectsEvent<ScoreChange> {
83 private final Long dataSourceObjectId;
91 AggregateScoresChangedEvent(Long dataSourceObjectId, ImmutableSet<ScoreChange> scoreChanges) {
92 super(scoreChanges.asList());
93 this.dataSourceObjectId = dataSourceObjectId;
94 scoreChanges.stream().forEach(chg -> {
95 if (!chg.getDataSourceObjectId().equals(dataSourceObjectId)) {
96 throw new IllegalArgumentException(
"All data source object IDs in List<ScoreChange> must match dataSourceObjectId");
103 return Optional.ofNullable(dataSourceObjectId);
112 return getDataModelObjects();
120 public final static class AnalysisResultsDeletedTskEvent
extends TskObjectsEvent<Long> {
129 AnalysisResultsDeletedTskEvent(List<Long> deletedResultObjIds) {
130 super(deletedResultObjIds);
139 return getDataModelObjects();
147 abstract static class HostsTskEvent
extends TskObjectsEvent<Host> {
154 HostsTskEvent(List<Host> hosts) {
164 return getDataModelObjects();
172 public final static class HostsAddedTskEvent
extends HostsTskEvent {
179 HostsAddedTskEvent(List<Host> hosts) {
188 public final static class HostsUpdatedTskEvent
extends HostsTskEvent {
195 HostsUpdatedTskEvent(List<Host> hosts) {
204 public final static class HostsDeletedTskEvent
extends TskObjectsEvent<Long> {
211 HostsDeletedTskEvent(List<Long> hostIds) {
221 return getDataModelObjects();
229 abstract static class OsAccountsTskEvent
extends TskObjectsEvent<OsAccount> {
236 OsAccountsTskEvent(List<OsAccount> osAccounts) {
246 return getDataModelObjects();
254 public final static class OsAccountsAddedTskEvent
extends OsAccountsTskEvent {
261 OsAccountsAddedTskEvent(List<OsAccount> osAccounts) {
270 public final static class OsAccountsUpdatedTskEvent
extends OsAccountsTskEvent {
277 OsAccountsUpdatedTskEvent(List<OsAccount> osAccounts) {
286 public final static class OsAccountsDeletedTskEvent
extends TskObjectsEvent<Long> {
294 OsAccountsDeletedTskEvent(List<Long> accountObjectIds) {
295 super(accountObjectIds);
304 return getDataModelObjects();
312 public final static class OsAccountsMergedTskEvent
extends TskObjectsEvent<MergedAccountsPair> {
320 OsAccountsMergedTskEvent(List<MergedAccountsPair> mergedAccounts) {
321 super(mergedAccounts);
331 return getDataModelObjects();
341 private final Long sourceOsAccountId;
342 private final Long destinationOsAccountId;
345 this.sourceOsAccountId = sourceOsAccountId;
346 this.destinationOsAccountId = destinationOsAccountId;
354 return sourceOsAccountId;
362 return destinationOsAccountId;
369 public final static class OsAcctInstancesAddedTskEvent
extends TskObjectsEvent<OsAccountInstance> {
378 OsAcctInstancesAddedTskEvent(List<OsAccountInstance> osAcctInstances) {
379 super(osAcctInstances);
388 return getDataModelObjects();
396 static abstract class PersonsTskEvent
extends TskObjectsEvent<Person> {
403 PersonsTskEvent(List<Person> persons) {
413 return getDataModelObjects();
421 public final static class PersonsAddedTskEvent
extends PersonsTskEvent {
428 PersonsAddedTskEvent(List<Person> persons) {
437 public final static class PersonsUpdatedTskEvent
extends PersonsTskEvent {
444 PersonsUpdatedTskEvent(List<Person> persons) {
453 public final static class PersonsDeletedTskEvent
extends TskObjectsEvent<Long> {
460 PersonsDeletedTskEvent(List<Long> personObjectIDs) {
461 super(personObjectIDs);
470 return getDataModelObjects();
478 public final static class HostsAddedToPersonTskEvent
extends TskObjectsEvent<Host> {
480 private final Person person;
489 HostsAddedToPersonTskEvent(
Person person, List<Host> hosts) {
491 this.person = person;
509 return getDataModelObjects();
517 public final static class HostsRemovedFromPersonTskEvent
extends TskObjectsEvent<Long> {
519 private final Person person;
528 HostsRemovedFromPersonTskEvent(
Person person, List<Long> hostIds) {
530 this.person = person;
548 return getDataModelObjects();
565 return getDataModelObjects();
620 return getDataModelObjects();
645 return getDataModelObjects();
669 return getDataModelObjects();
Optional< Long > getDataSourceId()
List< ScoreChange > getScoreChanges()
List< Long > getAnalysisResultObjectIds()
List< Long > getHostIds()
List< Long > getHostIds()
MergedAccountsPair(Long sourceOsAccountId, Long destinationOsAccountId)
Long getDestinationOsAccountId()
Long getSourceOsAccountId()
List< Long > getOsAccountObjectIds()
List< MergedAccountsPair > getMergedAccountPairs()
List< OsAccount > getOsAcounts()
List< OsAccountInstance > getOsAccountInstances()
List< Long > getPersonIds()
List< Person > getPersons()
TagNamesAddedTskEvent(List< TagName > tagNames)
List< Long > getTagNameIds()
TagNamesDeletedTskEvent(List< Long > tagNameIds)
List< TagName > getTagNames()
TagNamesTskEvent(List< TagName > tagNames)
TagNamesUpdatedTskEvent(List< TagName > tagNames)
TagSetsAddedTskEvent(List< TagSet > tagSets)
List< TagSet > getTagSets()
List< Long > getTagSetIds()
TagSetsDeletedTskEvent(List< Long > tagSetIds)
default Optional< Long > getDataSourceId()