1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kew.engine;
17
18 import org.kuali.rice.kew.actiontaken.ActionTakenValue;
19 import org.kuali.rice.kew.api.KewApiConstants;
20
21 import java.util.Collections;
22 import java.util.HashSet;
23 import java.util.Set;
24
25
26
27
28
29
30
31 public class OrchestrationConfig {
32
33 public enum EngineCapability { STANDARD, BLANKET_APPROVAL, SIMULATION }
34
35 private final EngineCapability capability;
36 private final boolean sendNotifications;
37 private final String notificationType = KewApiConstants.ACTION_REQUEST_ACKNOWLEDGE_REQ;
38 private final Set<String> destinationNodeNames;
39 private final ActionTakenValue cause;
40 private final boolean runPostProcessorLogic;
41
42 public OrchestrationConfig(EngineCapability capability) {
43 this(capability, Collections.<String>emptySet(), null, true, true);
44 }
45
46 public OrchestrationConfig(EngineCapability capability, boolean isRunPostProcessorLogic) {
47 this(capability, Collections.<String>emptySet(), null, true, isRunPostProcessorLogic);
48 }
49
50 public OrchestrationConfig(EngineCapability capability, Set<String> destinationNodeNames, ActionTakenValue cause) {
51 this(capability, destinationNodeNames, cause, true, true);
52 }
53
54 public OrchestrationConfig(EngineCapability capability, Set<String> destinationNodeNames, ActionTakenValue cause, boolean sendNotifications, boolean doRunPostProcessorLogic) {
55 this.capability = capability;
56 this.destinationNodeNames = Collections.unmodifiableSet(new HashSet<String>(destinationNodeNames));
57 this.cause = cause;
58 this.sendNotifications = sendNotifications;
59 this.runPostProcessorLogic = doRunPostProcessorLogic;
60 }
61
62 public Set<String> getDestinationNodeNames() {
63 return destinationNodeNames;
64 }
65
66 public String getNotificationType() {
67 return notificationType;
68 }
69
70 public boolean isSendNotifications() {
71 return sendNotifications;
72 }
73
74 public ActionTakenValue getCause() {
75 return cause;
76 }
77
78 public boolean isRunPostProcessorLogic() {
79 return this.runPostProcessorLogic;
80 }
81
82
83
84
85 public EngineCapability getCapability() {
86 return this.capability;
87 }
88
89 }