Package com.axelor.workflow.exec
package com.axelor.workflow.exec
-
ClassDescriptionWhat a node outside execution (email, agent, message) may ask of the walk it runs in: who it runs as, what record it is about, the variables it may read and the cascade it belongs to.Reading a parked node's boundaries: when the next one comes due, and which one has fired.What a park recorded: when it opened, its absolute deadlines, and which non-cancelling boundaries have fired.One thing a park listens for: a name, the key narrowing it (null for a signal), and the boundary that asked, null for the node's own trigger.Why a walk stopped short of an end.Stopped because a split of its own had to wait.Stopped on a person or a timer, under its own key.What a
<send>carries besides its address: the author's expression, evaluated in the sending walk and stored as JSON.One record a run is about:jsonModelis set for a custom-model record, null otherwise.Hands each flushed update tothe announcement.Takes back what a run, a region or a set of branches still has in flight: approvals, parks, the runs it called, and the run itself when it is over.Where a run itself is: its root branch, the one position that belongs to no split.What a step's execution tells the walker to do next.Stand down at a<task>whose approval is already pending from an earlier run.An iterating<call>wrote an activation and the run waits on it, with no key of its own.Something inside a subflow's region had to wait.Advance to a single next node.The walk reached a plain end.Fan out into every flow the split selected, in declaration order;joinis the barrier the branches stop at.One flow the split activated: the id the author gave it, and where it leads.Park at a node that waits: the run is left waiting rather than finished.The walk reached a terminate end: this run is over, whatever else is still in flight.Runtime guard against call recursion, for definitions loaded outside the save-time cycle check.Takes a named boundary on a parked approval for a message that matched its subscription.What a walk reads asagent,taskanderror: the last of each on its path.Wakes the run parked on a<call>once the child it started has finished or terminated.Marks a capture before execution can produce effects outside its database transaction.A captured change handed to the runtime.Walks a workflow's graph for one record.What a body's walk left: where it got to, and the frame it opened.A node failed.Starts one definition on one record: the re-entrancy key, the run, and aonceworkflow's budget, spent only when the run fired.Fired after a transaction that changed a record's pending approvals, or resumed one of its runs off the request that saved it, commits.Collects record change notifications during a transaction and fires them asWorkflowRecordChangedonly after it commits, deduplicated per record, so listeners that re-query never read pre-commit state.Guards against runaway cascades: a run may save records whose events start more runs.How one walk of a workflow graph ended.A failure the definition raised on purpose;codeis null when it named none.Compiles a definition, runs its graph, times it and records the outcome: the one run-and-record path for automatic and programmatic runs.Resumes parked runs and branches: timer waits on the scheduler's wake (WorkflowWaitService.resumeTimer(java.lang.Long)), condition waits when their record changes (WorkflowWaitService.resumeConditionWaitsForRecord(com.axelor.workflow.exec.RecordRef)), message waits on delivery, and a caller parked on a<call>when its child finishes (WorkflowWaitService.resumeCaller(com.axelor.meta.db.MetaWorkflowRun)).