19 package org.sleuthkit.autopsy.timeline.filters;
21 import java.util.Comparator;
22 import java.util.function.Predicate;
23 import javafx.collections.FXCollections;
24 import javafx.collections.ObservableList;
36 super(FXCollections.<SubFilterType>observableArrayList());
39 abstract Predicate<SubFilterType> getDuplicatePredicate(SubFilterType subfilter);
42 addSubFilter(subfilter, Comparator.comparing(SubFilterType::getDisplayName));
45 protected void addSubFilter(SubFilterType subfilter, Comparator<SubFilterType> comparator) {
46 Predicate<SubFilterType> duplicatePredicate = getDuplicatePredicate(subfilter);
47 if (
getSubFilters().stream().anyMatch(duplicatePredicate) ==
false) {
final ObservableList< SubFilterType > getSubFilters()
void addSubFilter(SubFilterType subfilter)
void addSubFilter(SubFilterType subfilter, Comparator< SubFilterType > comparator)
final ObservableList< SubFilterType > subFilters
UnionFilter(ObservableList< SubFilterType > subFilters)