@@ -92,11 +92,30 @@ public WorkflowRuntime build() {
92
92
* @return the WorkflowRuntimeBuilder
93
93
*/
94
94
public <T extends Workflow > WorkflowRuntimeBuilder registerWorkflow (Class <T > clazz ) {
95
- this .builder .addOrchestration (new WorkflowWrapper <>(clazz ));
95
+ this .builder .addOrchestration (new WorkflowClassWrapper <>(clazz ));
96
96
this .workflowSet .add (clazz .getCanonicalName ());
97
97
this .workflows .add (clazz .getSimpleName ());
98
98
99
- this .logger .info ("Registered Workflow: " + clazz .getSimpleName ());
99
+ this .logger .info ("Registered Workflow: {}" , clazz .getSimpleName ());
100
+
101
+ return this ;
102
+ }
103
+
104
+ /**
105
+ * Registers a Workflow object.
106
+ *
107
+ * @param <T> any Workflow type
108
+ * @param instance the workflow instance being registered
109
+ * @return the WorkflowRuntimeBuilder
110
+ */
111
+ public <T extends Workflow > WorkflowRuntimeBuilder registerWorkflow (T instance ) {
112
+ Class <T > clazz = (Class <T >) instance .getClass ();
113
+
114
+ this .builder .addOrchestration (new WorkflowInstanceWrapper <>(instance ));
115
+ this .workflowSet .add (clazz .getCanonicalName ());
116
+ this .workflows .add (clazz .getSimpleName ());
117
+
118
+ this .logger .info ("Registered Workflow: {}" , clazz .getSimpleName ());
100
119
101
120
return this ;
102
121
}
@@ -109,11 +128,30 @@ public <T extends Workflow> WorkflowRuntimeBuilder registerWorkflow(Class<T> cla
109
128
* @return the WorkflowRuntimeBuilder
110
129
*/
111
130
public <T extends WorkflowActivity > WorkflowRuntimeBuilder registerActivity (Class <T > clazz ) {
112
- this .builder .addActivity (new WorkflowActivityWrapper <>(clazz ));
131
+ this .builder .addActivity (new WorkflowActivityClassWrapper <>(clazz ));
132
+ this .activitySet .add (clazz .getCanonicalName ());
133
+ this .activities .add (clazz .getSimpleName ());
134
+
135
+ this .logger .info ("Registered Activity: {}" , clazz .getSimpleName ());
136
+
137
+ return this ;
138
+ }
139
+
140
+ /**
141
+ * Registers an Activity object.
142
+ *
143
+ * @param <T> any WorkflowActivity type
144
+ * @param instance the class instance being registered
145
+ * @return the WorkflowRuntimeBuilder
146
+ */
147
+ public <T extends WorkflowActivity > WorkflowRuntimeBuilder registerActivity (T instance ) {
148
+ Class <T > clazz = (Class <T >) instance .getClass ();
149
+
150
+ this .builder .addActivity (new WorkflowActivityInstanceWrapper <>(instance ));
113
151
this .activitySet .add (clazz .getCanonicalName ());
114
152
this .activities .add (clazz .getSimpleName ());
115
153
116
- this .logger .info ("Registered Activity: " + clazz .getSimpleName ());
154
+ this .logger .info ("Registered Activity: {}" , clazz .getSimpleName ());
117
155
118
156
return this ;
119
157
}
0 commit comments