public class DefaultStrategy extends Object implements GeneratorStrategy
TestCaseActivityType.OTHER).| Modifier and Type | Field and Description |
|---|---|
protected TestCaseActivity |
activity |
protected static com.squareup.javapoet.TypeName |
CALL_ACTIVITY |
protected static com.squareup.javapoet.TypeName |
EVENT |
protected static com.squareup.javapoet.TypeName |
EXTERNAL_TASK |
protected static com.squareup.javapoet.TypeName |
JOB |
protected static com.squareup.javapoet.TypeName |
OTHER |
protected static com.squareup.javapoet.TypeName |
USER_TASK |
| Constructor and Description |
|---|
DefaultStrategy() |
| Modifier and Type | Method and Description |
|---|---|
void |
addHandlerField(com.squareup.javapoet.TypeSpec.Builder classBuilder)
Adds a handler field to the class, if the activity is handled by a handler - e.g.:
|
void |
addHandlerFieldAfter(com.squareup.javapoet.TypeSpec.Builder classBuilder)
Adds a
JobHandler field to the class, if an asynchronous continuation is configured after
the activity - e.g.: |
void |
addHandlerFieldBefore(com.squareup.javapoet.TypeSpec.Builder classBuilder)
Adds a
JobHandler field to the class, if an asynchronous continuation is configured
before the activity - e.g.: |
void |
addHandlerMethod(com.squareup.javapoet.TypeSpec.Builder classBuilder)
Adds a "handle" method to the class, if the activity is handled by a handler - e.g.:
|
void |
addHandlerMethodAfter(com.squareup.javapoet.TypeSpec.Builder classBuilder)
Adds a method to the class, which provides a
JobHandler, if an asynchronous continuation
is configured after the activity - e.g.: |
void |
addHandlerMethodBefore(com.squareup.javapoet.TypeSpec.Builder classBuilder)
Adds a method to the class, which provides a
JobHandler, if an asynchronous continuation
is configured before the activity - e.g.: |
void |
applyHandler(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
Adds code to the execute/apply method, if the activity is handled by a handler and a wait state -
e.g.:
|
void |
applyHandlerAfter(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
Adds code to the execute/apply method, if an asynchronous continuation is configured after the
activity - e.g.:
|
void |
applyHandlerBefore(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
Adds code to the execute/apply method, if an asynchronous continuation is configured before the
activity - e.g.:
|
protected String |
buildHandlerMethodName(String literal) |
com.squareup.javapoet.CodeBlock |
getHandler()
Returns code for getting a handler field reference.
|
com.squareup.javapoet.CodeBlock |
getHandlerAfter()
Returns code for getting an after handler field reference.
|
com.squareup.javapoet.CodeBlock |
getHandlerBefore()
Returns code for getting a before handler field reference.
|
com.squareup.javapoet.TypeName |
getHandlerType()
Returns the type name of the related handler or
Void, if the activity is not handled by a
specific handler. |
protected String |
getLiteralAfter() |
protected String |
getLiteralBefore() |
void |
hasPassed(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
Adds code, which asserts that the process instance has passed an activity.
|
void |
initHandler(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
Adds code, which initializes a handler field.
|
void |
initHandlerAfter(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
Adds code, which initializes a after handler field.
|
com.squareup.javapoet.CodeBlock |
initHandlerAfterStatement()
Returns the statement that initializes the after handler.
|
void |
initHandlerBefore(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
Adds code, which initializes a before handler field.
|
com.squareup.javapoet.CodeBlock |
initHandlerBeforeStatement()
Returns the statement that initializes the before handler.
|
com.squareup.javapoet.CodeBlock |
initHandlerStatement()
Returns the statement that initializes the handler.
|
void |
isWaitingAt(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
Adds code, which asserts that the process instance is waiting at an activity.
|
void |
setActivity(TestCaseActivity activity) |
boolean |
shouldHandleAfter()
If the activity has the
asyncAfter flag set, it must be handled. |
boolean |
shouldHandleBefore()
If the activity has the
asyncBefore flag set, or it is a call activity but not a multi
instance. |
protected static com.squareup.javapoet.TypeName CALL_ACTIVITY
protected static com.squareup.javapoet.TypeName EVENT
protected static com.squareup.javapoet.TypeName EXTERNAL_TASK
protected static com.squareup.javapoet.TypeName JOB
protected static com.squareup.javapoet.TypeName OTHER
protected static com.squareup.javapoet.TypeName USER_TASK
protected TestCaseActivity activity
public void addHandlerField(com.squareup.javapoet.TypeSpec.Builder classBuilder)
GeneratorStrategyprivate UserTaskHandler approveUserTask;Otherwise no field is added.
addHandlerField in interface GeneratorStrategyclassBuilder - The class builder to use.public void addHandlerFieldAfter(com.squareup.javapoet.TypeSpec.Builder classBuilder)
GeneratorStrategyJobHandler field to the class, if an asynchronous continuation is configured after
the activity - e.g.:
private JobHandler sendMailServiceTaskAfter;
addHandlerFieldAfter in interface GeneratorStrategyclassBuilder - The class builder to use.public void addHandlerFieldBefore(com.squareup.javapoet.TypeSpec.Builder classBuilder)
GeneratorStrategyJobHandler field to the class, if an asynchronous continuation is configured
before the activity - e.g.:
private JobHandler sendMailServiceTaskBefore;
addHandlerFieldBefore in interface GeneratorStrategyclassBuilder - The class builder to use.public void addHandlerMethod(com.squareup.javapoet.TypeSpec.Builder classBuilder)
GeneratorStrategy
public UserTaskHandler handleApproveUserTask() {
return approveUserTask;
}
Otherwise no field is added.addHandlerMethod in interface GeneratorStrategyclassBuilder - The class builder to use.public void addHandlerMethodAfter(com.squareup.javapoet.TypeSpec.Builder classBuilder)
GeneratorStrategyJobHandler, if an asynchronous continuation
is configured after the activity - e.g.:
public JobHandler handleSendMailServiceTaskAfter() {
return sendMailServiceTaskAfter;
}
addHandlerMethodAfter in interface GeneratorStrategyclassBuilder - The class builder to use.public void addHandlerMethodBefore(com.squareup.javapoet.TypeSpec.Builder classBuilder)
GeneratorStrategyJobHandler, if an asynchronous continuation
is configured before the activity - e.g.:
public JobHandler handleSendMailServiceTaskBefore() {
return sendMailServiceTaskBefore;
}
addHandlerMethodBefore in interface GeneratorStrategyclassBuilder - The class builder to use.public void applyHandler(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
GeneratorStrategy
assertThat(pi).isWaitingAt("placeOrderExternalTask");
instance.apply(placeOrderExternalTask)
or the previous activity is an event based gateway.applyHandler in interface GeneratorStrategymethodBuilder - The method builder to use.public void applyHandlerAfter(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
GeneratorStrategy
assertThat(pi).isWaitingAt("sendMailServiceTask");
instance.apply(sendMailServiceTaskAfter)
applyHandlerAfter in interface GeneratorStrategymethodBuilder - The method builder to use.public void applyHandlerBefore(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
GeneratorStrategy
assertThat(pi).isWaitingAt("sendMailServiceTask");
instance.apply(sendMailServiceTaskBefore)
applyHandlerBefore in interface GeneratorStrategymethodBuilder - The method builder to use.public com.squareup.javapoet.CodeBlock getHandler()
GeneratorStrategyTestCaseActivity.getLiteral(), but in case of a multi instance scope a specific
getHandler method must be called.approveUserTaskMulti instance scope:
getApproveUserTaskHandler(loopIndex)
getHandler in interface GeneratorStrategypublic com.squareup.javapoet.CodeBlock getHandlerAfter()
GeneratorStrategyTestCaseActivity.getLiteral() + After, but in case of a multi
instance scope a specific getHandler method must be called.approveUserTaskAfterMulti instance scope:
getApproveUserTaskHandlerAfter(loopIndex)
getHandlerAfter in interface GeneratorStrategypublic com.squareup.javapoet.CodeBlock getHandlerBefore()
GeneratorStrategyTestCaseActivity.getLiteral() + Before, but in case of a multi
instance scope a specific getHandler method must be called.approveUserTaskBeforeMulti instance scope:
getApproveUserTaskHandlerBefore(loopIndex)
getHandlerBefore in interface GeneratorStrategypublic com.squareup.javapoet.TypeName getHandlerType()
GeneratorStrategyVoid, if the activity is not handled by a
specific handler.getHandlerType in interface GeneratorStrategyTypeName.get(UserTaskHandler.class).protected String getLiteralAfter()
protected String getLiteralBefore()
public void hasPassed(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
GeneratorStrategyhasPassed in interface GeneratorStrategymethodBuilder - The method builder to use.public void initHandler(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
GeneratorStrategyapproveUserTask = new UserTaskHandler(getProcessEngine(), "approveUserTask");
initHandler in interface GeneratorStrategymethodBuilder - The method builder to use.GeneratorStrategy.initHandlerStatement()public void initHandlerAfter(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
GeneratorStrategyapproveUserTaskAfter = new JobkHandler(getProcessEngine(), "approveUserTask");
initHandlerAfter in interface GeneratorStrategymethodBuilder - The method builder to use.GeneratorStrategy.initHandlerAfterStatement()public com.squareup.javapoet.CodeBlock initHandlerAfterStatement()
GeneratorStrategynew JobHandler(getProcessEngine(), "approveUserTask");
initHandlerAfterStatement in interface GeneratorStrategypublic void initHandlerBefore(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
GeneratorStrategyapproveUserTaskBefore = new JobHandler(getProcessEngine(), "approveUserTask");
initHandlerBefore in interface GeneratorStrategymethodBuilder - The method builder to use.GeneratorStrategy.initHandlerBeforeStatement()public com.squareup.javapoet.CodeBlock initHandlerBeforeStatement()
GeneratorStrategynew JobHandler(getProcessEngine(), "approveUserTask");
initHandlerBeforeStatement in interface GeneratorStrategypublic com.squareup.javapoet.CodeBlock initHandlerStatement()
GeneratorStrategynew UserTaskHandler(getProcessEngine(), "approveUserTask");
initHandlerStatement in interface GeneratorStrategypublic void isWaitingAt(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
GeneratorStrategyisWaitingAt in interface GeneratorStrategymethodBuilder - The method builder to use.public void setActivity(TestCaseActivity activity)
public boolean shouldHandleAfter()
asyncAfter flag set, it must be handled. If it is the last
activity and it does not end the process, the asynchronous continuation after should not be
handled - the execution must wait!shouldHandleAfter in interface GeneratorStrategytrue, if it should be handled. Otherwise false.public boolean shouldHandleBefore()
asyncBefore flag set, or it is a call activity but not a multi
instance.shouldHandleBefore in interface GeneratorStrategytrue, if it should be handled. Otherwise false.BpmndtParseListener.parseCallActivity(org.camunda.bpm.engine.impl.util.xml.Element,
org.camunda.bpm.engine.impl.pvm.process.ScopeImpl,
org.camunda.bpm.engine.impl.pvm.process.ActivityImpl)Copyright © 2023 Camunda Services GmbH. All rights reserved.