Class DefaultHandlerStrategy

java.lang.Object
org.camunda.community.bpmndt.strategy.DefaultStrategy
org.camunda.community.bpmndt.strategy.DefaultHandlerStrategy
All Implemented Interfaces:
GeneratorStrategy
Direct Known Subclasses:
CallActivityStrategy, EventStrategy, ExternalTaskStrategy, JobStrategy, MultiInstanceScopeStrategy, UserTaskStrategy

public class DefaultHandlerStrategy extends DefaultStrategy
Default strategy for all handled activities, that provide a fluent handler API.
  • Constructor Details

    • DefaultHandlerStrategy

      public DefaultHandlerStrategy(TestCaseActivity activity)
  • Method Details

    • addHandlerField

      public void addHandlerField(com.squareup.javapoet.TypeSpec.Builder classBuilder)
      Description copied from interface: GeneratorStrategy
      Adds a handler field to the class, if the activity is handled by a handler - e.g.:
       private UserTaskHandler approveUserTask;
       
      Otherwise no field is added.
      Specified by:
      addHandlerField in interface GeneratorStrategy
      Overrides:
      addHandlerField in class DefaultStrategy
      Parameters:
      classBuilder - The class builder to use.
    • addHandlerMethod

      public void addHandlerMethod(com.squareup.javapoet.TypeSpec.Builder classBuilder)
      Description copied from interface: GeneratorStrategy
      Adds a "handle" method to the class, if the activity is handled by a handler - e.g.:
       public UserTaskHandler handleApproveUserTask() {
         return approveUserTask;
       }
       
      Otherwise no field is added.
      Specified by:
      addHandlerMethod in interface GeneratorStrategy
      Overrides:
      addHandlerMethod in class DefaultStrategy
      Parameters:
      classBuilder - The class builder to use.
    • buildHandlerMethodJavadoc

      protected com.squareup.javapoet.CodeBlock buildHandlerMethodJavadoc()
    • applyHandler

      public void applyHandler(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
      Description copied from interface: GeneratorStrategy
      Adds code to the execute/apply method, if the activity is handled by a handler and a wait state - e.g.:
       assertThat(pi).isWaitingAt("placeOrderExternalTask");
       instance.apply(placeOrderExternalTask)
       
      or the previous activity is an event based gateway.
      Specified by:
      applyHandler in interface GeneratorStrategy
      Overrides:
      applyHandler in class DefaultStrategy
      Parameters:
      methodBuilder - The method builder to use.
    • getHandler

      public com.squareup.javapoet.CodeBlock getHandler()
      Description copied from interface: GeneratorStrategy
      Returns code for getting a handler field reference. Normally a handler field is references using
      invalid reference
      TestCaseActivity#getLiteral()
      , but in case of a multi instance scope a specific getHandler method must be called.

      Normally:
       approveUserTask
       
      Multi instance scope:
       getApproveUserTaskHandler(loopIndex)
       
      Specified by:
      getHandler in interface GeneratorStrategy
      Overrides:
      getHandler in class DefaultStrategy
      Returns:
      The handler reference code.
    • initHandler

      public void initHandler(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
      Description copied from interface: GeneratorStrategy
      Adds code, which initializes a handler field.
       approveUserTask = new UserTaskHandler(getProcessEngine(), "approveUserTask");
       
      Specified by:
      initHandler in interface GeneratorStrategy
      Overrides:
      initHandler in class DefaultStrategy
      Parameters:
      methodBuilder - The method builder to use.
      See Also:
    • initHandlerStatement

      public com.squareup.javapoet.CodeBlock initHandlerStatement()
      Description copied from interface: GeneratorStrategy
      Returns the statement that initializes the handler.
       new UserTaskHandler(getProcessEngine(), "approveUserTask");
       
      Specified by:
      initHandlerStatement in interface GeneratorStrategy
      Overrides:
      initHandlerStatement in class DefaultStrategy
      Returns:
      The code.