1 package cz.cuni.amis.pogamut.base.component.bus.event;
2
3 import cz.cuni.amis.pogamut.base.component.IComponent;
4 import cz.cuni.amis.pogamut.base.component.bus.IComponentEvent;
5 import cz.cuni.amis.utils.token.Token;
6
7
8
9
10
11
12
13
14
15
16
17 public class EventFilter<T> implements WaitForEvent.IEventFilter<T> {
18
19 private Class<T> eventClass;
20
21 private Class<? extends IComponent> componentClass;
22
23 private Token componentId;
24
25
26
27
28 public EventFilter(Class<T> eventClass) {
29 this.eventClass = eventClass;
30 }
31
32
33
34
35
36
37 public EventFilter(Class<T> eventClass, Class<? extends IComponent> componentClass) {
38 this.eventClass = eventClass;
39 this.componentClass = componentClass;
40 }
41
42
43
44
45
46 public EventFilter(Class<T> eventClass, Token componentId) {
47 this.eventClass = eventClass;
48 this.componentId = componentId;
49 }
50
51 @Override
52 public boolean accept(T event) {
53 return true;
54 }
55
56 @Override
57 public Class getComponentClass() {
58 return componentClass;
59 }
60
61 @Override
62 public Token getComponentId() {
63 return componentId;
64 }
65
66 @Override
67 public Class<T> getEventClass() {
68 return eventClass;
69 }
70
71 }