1 | package com.hammurapi.eventbus.tests; |
2 | |
3 | import java.util.HashSet; |
4 | import java.util.Set; |
5 | |
6 | import com.hammurapi.eventbus.AbstractEventBus; |
7 | import com.hammurapi.eventbus.AbstractEventBus.Handle; |
8 | import com.hammurapi.eventbus.AbstractEventHandler; |
9 | import com.hammurapi.eventbus.EventDispatchContext; |
10 | import com.hammurapi.eventbus.EventHandler; |
11 | import com.hammurapi.eventbus.JavaBinder; |
12 | import com.hammurapi.extract.Predicate; |
13 | import com.hammurapi.eventbus.EventHandlerBase.Mode; |
14 | |
15 | /** |
16 | * Binds handler class com.hammurapi.eventbus.tests.JoinHandler to event bus com.hammurapi.eventbus.local.LocalEventBus |
17 | */ |
18 | public class JoinHandlerJavaBinder implements JavaBinder<java.lang.Object, java.lang.Object, java.lang.Long, com.hammurapi.eventbus.AbstractEventBus.Handle<java.lang.Object, java.lang.Integer, java.lang.Object, java.lang.Long>, com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object>, com.hammurapi.eventbus.local.LocalEventBus<java.lang.Object, java.lang.Integer, java.lang.Object>, com.hammurapi.eventbus.tests.JoinHandler> { |
19 | |
20 | @Override |
21 | public Set<java.lang.Long> bind(com.hammurapi.eventbus.tests.JoinHandler instance, com.hammurapi.eventbus.local.LocalEventBus<java.lang.Object, java.lang.Integer, java.lang.Object> bus) { |
22 | Set<java.lang.Long> ret = new HashSet<java.lang.Long>(); |
23 | |
24 | ret.add(handleHello(instance, bus)); |
25 | ret.add(join(instance, bus)); |
26 | |
27 | return ret; |
28 | } |
29 | |
30 | |
31 | private java.lang.Long handleHello(final com.hammurapi.eventbus.tests.JoinHandler instance, com.hammurapi.eventbus.local.LocalEventBus<java.lang.Object, java.lang.Integer, java.lang.Object> bus) { |
32 | |
33 | Predicate<java.lang.Object, java.lang.Object>[] predicates = new Predicate[1]; |
34 | |
35 | |
36 | predicates[0] = new com.hammurapi.extract.And(0, null, new com.hammurapi.extract.InstanceOfPredicate(new com.hammurapi.extract.IndexedExtractor(0), java.lang.String.class), new com.hammurapi.extract.Equal(0, null, new Extractor16(null), new com.hammurapi.extract.Constant("Hello"), false)); |
37 | |
38 | EventHandler<java.lang.Object, java.lang.Integer, java.lang.Object, com.hammurapi.eventbus.AbstractEventBus.Handle<java.lang.Object, java.lang.Integer, java.lang.Object, java.lang.Long>, com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object>> eventHandler = new AbstractEventHandler<java.lang.Object, java.lang.Integer, java.lang.Object, com.hammurapi.eventbus.AbstractEventBus.Handle<java.lang.Object, java.lang.Integer, java.lang.Object, java.lang.Long>, com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object>>( |
39 | 1, |
40 | 0, |
41 | instance, |
42 | true, |
43 | false, |
44 | Mode.POST, |
45 | predicates) { |
46 | |
47 | @Override |
48 | public void post(EventDispatchContext<java.lang.Object, java.lang.Integer, java.lang.Object, com.hammurapi.eventbus.AbstractEventBus.Handle<java.lang.Object, java.lang.Integer, java.lang.Object, java.lang.Long>, com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object>> context, java.lang.Object... events) { |
49 | java.lang.String toPost = instance.handleHello( |
50 | |
51 | (java.lang.String) events[0] |
52 | ); |
53 | |
54 | |
55 | |
56 | if (java.lang.Object.class.isInstance(toPost)) { |
57 | context.post(toPost); |
58 | } |
59 | |
60 | } |
61 | |
62 | public String toString() { |
63 | return "Compiled event handler for method public java.lang.String com.hammurapi.eventbus.tests.JoinHandler.handleHello(java.lang.String), cardinality="+getCardinality(); |
64 | } |
65 | |
66 | |
67 | }; |
68 | |
69 | return bus.addHandler(eventHandler); |
70 | } |
71 | |
72 | |
73 | private java.lang.Long join(final com.hammurapi.eventbus.tests.JoinHandler instance, com.hammurapi.eventbus.local.LocalEventBus<java.lang.Object, java.lang.Integer, java.lang.Object> bus) { |
74 | |
75 | Predicate<java.lang.Object, java.lang.Object>[] predicates = new Predicate[1]; |
76 | |
77 | |
78 | predicates[0] = new com.hammurapi.extract.And(0, null, new com.hammurapi.extract.CommutativeAnd(0, null, new com.hammurapi.extract.InstanceOfPredicate(new com.hammurapi.extract.IndexedExtractor(1), java.lang.String.class), new com.hammurapi.extract.InstanceOfPredicate(new com.hammurapi.extract.IndexedExtractor(0), java.lang.String.class), new com.hammurapi.extract.InstanceOfPredicate(new com.hammurapi.extract.IndexedExtractor(2), java.lang.Integer.class)), new com.hammurapi.extract.CommutativeAnd(0, null, new com.hammurapi.extract.Equal(0, null, new Extractor17(null), new com.hammurapi.extract.Constant("World"), false), new com.hammurapi.extract.Equal(0, null, new com.hammurapi.extract.Constant("Hello"), new Extractor16(null), false), new com.hammurapi.extract.GreaterThan(0, null, new com.hammurapi.extract.Add(0, null, new Extractor18(null), new com.hammurapi.extract.Constant((java.lang.Integer) 65)), new Extractor19(null)), new com.hammurapi.extract.LessThan(0, null, new com.hammurapi.extract.Add(0, null, new Extractor18(null), new com.hammurapi.extract.Constant((java.lang.Integer) 65)), new Extractor20(null)))); |
79 | |
80 | EventHandler<java.lang.Object, java.lang.Integer, java.lang.Object, com.hammurapi.eventbus.AbstractEventBus.Handle<java.lang.Object, java.lang.Integer, java.lang.Object, java.lang.Long>, com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object>> eventHandler = new AbstractEventHandler<java.lang.Object, java.lang.Integer, java.lang.Object, com.hammurapi.eventbus.AbstractEventBus.Handle<java.lang.Object, java.lang.Integer, java.lang.Object, java.lang.Long>, com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object>>( |
81 | 3, |
82 | 0, |
83 | instance, |
84 | true, |
85 | false, |
86 | Mode.POST, |
87 | predicates) { |
88 | |
89 | @Override |
90 | public void post(EventDispatchContext<java.lang.Object, java.lang.Integer, java.lang.Object, com.hammurapi.eventbus.AbstractEventBus.Handle<java.lang.Object, java.lang.Integer, java.lang.Object, java.lang.Long>, com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object>> context, java.lang.Object... events) { |
91 | instance.join( |
92 | |
93 | wrap(context), |
94 | |
95 | (java.lang.String) events[0], |
96 | (java.lang.String) events[1], |
97 | (java.lang.Integer) events[2] |
98 | ); |
99 | |
100 | |
101 | } |
102 | |
103 | public String toString() { |
104 | return "Compiled event handler for method public void com.hammurapi.eventbus.tests.JoinHandler.join(com.hammurapi.eventbus.local.LocalEventDispatchJoinContext,java.lang.String,java.lang.String,int), cardinality="+getCardinality(); |
105 | } |
106 | |
107 | |
108 | private com.hammurapi.eventbus.local.LocalEventDispatchJoinContext<java.lang.Object, java.lang.Integer, java.lang.Object> wrap(final EventDispatchContext<java.lang.Object, java.lang.Integer, java.lang.Object, com.hammurapi.eventbus.AbstractEventBus.Handle<java.lang.Object, java.lang.Integer, java.lang.Object, java.lang.Long>, com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object>> context) { |
109 | return new com.hammurapi.eventbus.local.LocalEventDispatchJoinContext<java.lang.Object, java.lang.Integer, java.lang.Object>() { |
110 | |
111 | @Override |
112 | public void post(java.lang.Object event, Predicate<java.lang.Object, com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object>>... validators) { |
113 | context.post(event, validators); |
114 | } |
115 | |
116 | @Override |
117 | public void consume(int index) { |
118 | context.consume(index); |
119 | } |
120 | |
121 | @Override |
122 | public void consume(java.lang.Object event) { |
123 | context.consume(event); |
124 | } |
125 | |
126 | @Override |
127 | public void update(java.lang.Object event) { |
128 | context.update(event); |
129 | } |
130 | |
131 | @Override |
132 | public void removeHandler() { |
133 | context.removeHandler(); |
134 | } |
135 | |
136 | @Override |
137 | public com.hammurapi.eventbus.local.LocalEventStore<java.lang.Object, java.lang.Integer, java.lang.Object> getEventStore() { |
138 | return context.getEventStore(); |
139 | } |
140 | |
141 | |
142 | @Override |
143 | public void consumeJoin(int index) { |
144 | context.consume(index); |
145 | } |
146 | |
147 | @Override |
148 | public void consumeJoin(java.lang.Object event) { |
149 | context.consume(event); |
150 | } |
151 | |
152 | @Override |
153 | public com.hammurapi.eventbus.EventHandlerBase.Mode getMode() { |
154 | return context.getMode(); |
155 | } |
156 | |
157 | }; |
158 | } |
159 | |
160 | }; |
161 | |
162 | return bus.addHandler(eventHandler); |
163 | } |
164 | |
165 | |
166 | } |