1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krms.framework.engine;
17
18 import org.kuali.rice.krms.api.engine.ExecutionEnvironment;
19
20 public final class BasicAgendaTreeEntry implements AgendaTreeEntry {
21
22 private final Rule rule;
23 private final AgendaTree ifTrue;
24 private final AgendaTree ifFalse;
25
26 public BasicAgendaTreeEntry(Rule rule) {
27 this(rule, null, null);
28 }
29
30 public BasicAgendaTreeEntry(Rule rule, AgendaTree ifTrue, AgendaTree ifFalse) {
31 if (rule == null) {
32 throw new IllegalArgumentException("rule was null");
33 }
34 this.rule = rule;
35 this.ifTrue = ifTrue;
36 this.ifFalse = ifFalse;
37 }
38
39 @Override
40 public void execute(ExecutionEnvironment environment) {
41 boolean result = rule.evaluate(environment);
42 if (result && ifTrue != null) {
43 ifTrue.execute(environment);
44 }
45 if (!result && ifFalse != null) {
46 ifFalse.execute(environment);
47 }
48 }
49
50 }