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, CustomMultiInstanceStrategy, JobStrategy, MessageEventStrategy, OutboundConnectorStrategy, ReceiveTaskStrategy, SignalEventStrategy, TimerEventStrategy, UserTaskStrategy

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

    • DefaultHandlerStrategy

      public DefaultHandlerStrategy(BpmnElement element)
  • 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 element 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 element 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.
    • applyHandler

      public void applyHandler(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
      Description copied from interface: GeneratorStrategy
      Adds code to the execute/apply method, if the element is handled by a handler - e.g.:
       instance.isWaitingAt(processInstanceEvent, "placeOrderExternalTask");
       instance.apply(processInstanceEvent, placeOrderExternalTask)
       

      or the previous element 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 GeneratorStrategy.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.
    • hasPassed

      public void hasPassed(com.squareup.javapoet.MethodSpec.Builder methodBuilder)
      Description copied from interface: GeneratorStrategy
      Adds code, which asserts that the process instance has passed a BPMN element.
      Specified by:
      hasPassed in interface GeneratorStrategy
      Overrides:
      hasPassed in class DefaultStrategy
      Parameters:
      methodBuilder - The method builder to use.
    • 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(approveUserTaskElement);
       
      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(approveUserTaskElement)
       
      Specified by:
      initHandlerStatement in interface GeneratorStrategy
      Overrides:
      initHandlerStatement in class DefaultStrategy
      Returns:
      The code.