Class ActivitiStateHandlerRegistry

All Implemented Interfaces:
CoreActivityBehavior<ActivityExecution>, ActivityBehavior, SignallableActivityBehavior, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean

public class ActivitiStateHandlerRegistry extends ReceiveTaskActivityBehavior implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, ActivityBehavior, org.springframework.beans.factory.InitializingBean
this class records and manages all known org.camunda.bpm.engine.annotations.State - responding beans in the JVM. It should have metadata on all methods, and what those methods expect from a given invocation (ie: which process, which process variables).
Since:
1.0
Author:
Josh Long
  • Constructor Details

    • ActivitiStateHandlerRegistry

      public ActivitiStateHandlerRegistry()
  • Method Details

    • setProcessEngine

      public void setProcessEngine(ProcessEngine processEngine)
    • execute

      public void execute(ActivityExecution execution) throws Exception
      Description copied from class: FlowNodeActivityBehavior
      Default behaviour: just leave the activity with no extra functionality.
      Specified by:
      execute in interface ActivityBehavior
      Specified by:
      execute in interface CoreActivityBehavior<ActivityExecution>
      Overrides:
      execute in class TaskActivityBehavior
      Throws:
      Exception
    • signal

      public void signal(ActivityExecution execution, String signalName, Object data) throws Exception
      Specified by:
      signal in interface SignallableActivityBehavior
      Overrides:
      signal in class ReceiveTaskActivityBehavior
      Throws:
      Exception
    • registrationKey

      protected String registrationKey(String stateName, String processName)
    • registerActivitiStateHandler

      public void registerActivitiStateHandler(ActivitiStateHandlerRegistration registration)
      used at runtime to register state handlers as they are registered with the spring context
      Parameters:
      registration - the org.camunda.bpm.engine.test.spring.components.registry.ActivitiStateHandlerRegistration
    • findRegistrationsForProcessAndState

      public Collection<ActivitiStateHandlerRegistration> findRegistrationsForProcessAndState(String processName, String stateName)
      this is responsible for looking up components in the registry and returning the appropriate handler based on specificity of the org.camunda.bpm.engine.test.spring.components.registry.ActivitiStateHandlerRegistration
      Parameters:
      processName - the process name to look for (optional)
      stateName - the state name to look for (not optional)
      Returns:
      all matching options
    • findRegistrationForProcessAndState

      public ActivitiStateHandlerRegistration findRegistrationForProcessAndState(String processName, String stateName)
      this scours the registry looking for candidate registrations that match a given process name and/ or state nanme
      Parameters:
      processName - the name of the process
      stateName - the name of the state
      Returns:
      an unambiguous org.camunda.bpm.engine.test.spring.components.registry.ActivitiStateHandlerRegistry or null
    • setBeanFactory

      public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
      Specified by:
      setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
      Throws:
      org.springframework.beans.BeansException
    • setBeanName

      public void setBeanName(String name)
      Specified by:
      setBeanName in interface org.springframework.beans.factory.BeanNameAware
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception