-
Notifications
You must be signed in to change notification settings - Fork 48
callactivity
bpmn-server / CallActivity
the called process need to call me back when done.
Scenario a process 'D1' element 'E' is a 'CallActivity' calling Definition 'D2' steps:
1. Item 'E': item start: start event is fired to prepare for input
2. Item 'E': item start: executing the call process passing input
3. If Process 'D2' is completed immediatly
we continue, skip next steps
-
4. Process 'D1' goes on a wait state
- When the process 'D2' is completed it calls 'executionEnded'
- We continue with Item:Invoke
- event 'end' is fired to handle output of the process
-
↳
CallActivity
- assignee
- attachedTo
- attachments
- behaviours
- def
- id
- inbounds
- initiator
- isFlow
- lane
- messageId
- name
- outbounds
- process
- scripts
- signalId
- subType
- type
- addBehaviour
- cancelBoundaryEvents
- cancelEBG
- continue
- describe
- doEvent
- end
- enter
- execute
- getBehaviour
- getInput
- getOutbounds
- getOutput
- hasBehaviour
- init
- restored
- resume
- run
- setInput
- start
- startBoundaryEvents
- validate
- executionEnded
• new CallActivity(id
, process
, type
, def
): CallActivity
Name | Type |
---|---|
id |
any |
process |
any |
type |
any |
def |
any |
• assignee: any
• attachedTo: Node
• attachments: Node
[]
• behaviours: Map
<any
, any
>
• def: any
• id: any
• inbounds: Flow
[]
• initiator: any
• isFlow: boolean
= false
• lane: any
• messageId: any
• name: any
• outbounds: Flow
[]
• process: any
• scripts: Map
<any
, any
>
• signalId: any
• subType: any
• type: any
• get
calledElement(): any
any
• get
canBeInvoked(): boolean
boolean
Node.canBeInvoked
• get
isCatching(): boolean
boolean
Node.isCatching
• get
processId(): any
any
Node.processId
• get
requiresWait(): boolean
boolean
Node.requiresWait
▸ addBehaviour(nane
, behavriour
): void
Name | Type |
---|---|
nane |
any |
behavriour |
any |
void
▸ cancelBoundaryEvents(item
): Promise
<void
>
Name | Type |
---|---|
item |
any |
Promise
<void
>
▸ cancelEBG(item
): Promise
<void
>
Name | Type |
---|---|
item |
any |
Promise
<void
>
▸ continue(item
): Promise
<void
>
Name | Type |
---|---|
item |
Item |
Promise
<void
>
▸ describe(): string
[][]
string
[][]
▸ doEvent(item
, event
, newStatus
): Promise
<any
[]>
Name | Type |
---|---|
item |
Item |
event |
EXECUTION_EVENT |
newStatus |
ITEM_STATUS |
Promise
<any
[]>
▸ end(item
, cancel?
): Promise
<void
>
Name | Type | Default value |
---|---|---|
item |
Item |
undefined |
cancel |
Boolean |
false |
Promise
<void
>
▸ enter(item
): void
Name | Type |
---|---|
item |
Item |
void
▸ execute(item
): Promise
<void
| wait
| end
| error
| abort
>
this is the primary exectuion method for a node
considerations: the following are handled by Token 1. Loops we are inside a loop already (if any) 2. Gatways 3. Subprocess the parent node is fired as normal run method will fire the subprocess invoking a new token and will go into wait
Name | Type |
---|---|
item |
Item |
Promise
<void
| wait
| end
| error
| abort
>
▸ getBehaviour(name
): any
Name | Type |
---|---|
name |
any |
any
▸ getInput(item
, input
): Promise
<{}>
Name | Type |
---|---|
item |
Item |
input |
any |
Promise
<{}>
▸ getOutbounds(item
): Item
[]
Name | Type |
---|---|
item |
Item |
Item
[]
▸ getOutput(item
): Promise
<{}>
transform data using output rules todo
Name | Type |
---|---|
item |
Item |
Promise
<{}>
▸ hasBehaviour(name
): boolean
respond by providing behaviour attributes beyond item and node information ex: timer due , input/outupt , fields
Name | Type |
---|---|
name |
any |
boolean
▸ init(item
): void
Name | Type |
---|---|
item |
Item |
void
▸ restored(item
): void
Name | Type |
---|---|
item |
Item |
void
▸ resume(item
): void
is called by the token after an execution resume for every active (in wait) item different than init, which is called for all items
Name | Type |
---|---|
item |
Item |
void
▸ run(item
): Promise
<NODE_ACTION
>
Name | Type |
---|---|
item |
Item |
Promise
<NODE_ACTION
>
▸ setInput(item
, input
): Promise
<void
>
is Called after execution transform data using input rules todo
Name | Type |
---|---|
item |
Item |
input |
any |
Promise
<void
>
▸ start(item
): Promise
<NODE_ACTION
>
Name | Type |
---|---|
item |
any |
Promise
<NODE_ACTION
>
▸ startBoundaryEvents(item
, token
): Promise
<void
>
Name | Type |
---|---|
item |
any |
token |
any |
Promise
<void
>
▸ validate(item
): Promise
<void
>
Name | Type |
---|---|
item |
Item |
Promise
<void
>
▸ executionEnded(execution
): Promise
<void
>
Name | Type |
---|---|
execution |
IExecution |
Promise
<void
>