public ActivityImpl parseSendTask ( Element sendTaskElement , ScopeImpl scope ) { if ( isServiceTaskLike ( sendTaskElement ) ) { // CAM-942: If expression or class is set on a SendTask it behaves like a service task // to allow implementing the send handling yourself return parseServiceTaskLike ( "sendTask" , sendTaskElement , scope ) ; } else { ActivityImpl activity = createActivityOnScope ( sendTaskElement , scope ) ; parseAsynchronousContinuationForActivity ( sendTaskElement , activity ) ; parseExecutionListenersOnScope ( sendTaskElement , activity ) ; for ( BpmnParseListener parseListener : parseListeners ) { parseListener . parseSendTask ( sendTaskElement , scope , activity ) ; } // activity behavior could be set by a listener; thus, check is after listener invocation if ( activity . getActivityBehavior ( ) == null ) { addError ( "One of the attributes 'class', 'delegateExpression', 'type', or 'expression' is mandatory on sendTask." , sendTaskElement ) ; } return activity ; } }
Parses a sendTask declaration .