source: autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeFilter.java @ 1030

Last change on this file since 1030 was 1030, checked in by adeicke, 11 years ago

Initial commit.

  • Property svn:mime-type set to text/plain
File size: 1.5 KB
Line 
1
2package de.ugoe.cs.autoquest.usability.tasktree.filter;
3
4import com.google.common.base.Preconditions;
5
6import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
7
8public class TaskTreeFilter {
9   
10    private final TaskTreeFilterStrategy taskTreeFilterStrategy;
11   
12    public TaskTreeFilter(TaskTreeFilterStrategy treeTraversalStrategy) {
13        Preconditions.checkNotNull(treeTraversalStrategy);
14        this.taskTreeFilterStrategy = treeTraversalStrategy;
15    }
16
17    public FilterEventTargetStep filterByEventTarget(EventTargetFilter eventTarget) {
18        return new FilterEventTargetStep(eventTarget);
19    }
20
21    public FilterEventTypeStep filterByEventType(EventTypeFilter eventType) {
22        return new FilterEventTypeStep(eventType);
23    }
24
25    public class FilterEventTargetStep {
26
27        private final EventTargetFilter eventTarget;
28
29        public FilterEventTargetStep(EventTargetFilter eventTarget) {
30            this.eventTarget = eventTarget;
31        }
32
33        public FilterStatistic from(ITaskTree taskTree) {
34            return taskTreeFilterStrategy.filter(taskTree, eventTarget);
35        }
36
37    }
38
39    public class FilterEventTypeStep {
40
41        private final EventTypeFilter eventType;
42
43        public FilterEventTypeStep(EventTypeFilter eventType) {
44            this.eventType = eventType;
45        }
46
47        public FilterStatistic from(ITaskTree taskTree) {
48            return taskTreeFilterStrategy.filter(taskTree, eventType);
49        }
50
51    }
52}
Note: See TracBrowser for help on using the repository browser.