Package com.axelor.workflow.compiler
Class WorkflowCompiler
java.lang.Object
com.axelor.workflow.compiler.WorkflowCompiler
Compiles a parsed
Workflow into an immutable WorkflowPlan: the structural gate
the runtime relies on (one start, unique ids, every edge resolving, joins paired with their
splits). Problems are collected, never thrown, so the validator and Studio get the full list;
runtime callers use Compilation.planOrThrow(String). Semantic rules belong to WorkflowValidator.-
Method Summary
Modifier and TypeMethodDescriptionstatic Compilationstatic CompilationcompileBody(Workflow body, String nodeId) Compile a<subflow>'s body with the same compiler; its node ids are scoped to itself, and its plan is identified by the node it hangs from.static List<WorkflowPlan.Boundary> compileBoundaries(String nodeId, List<BoundaryNode> boundaries, List<Violation> sink) Compile one node's boundaries in declaration order, the order they are tried.static booleanrequireNext(String nodeId, String next, List<Violation> sink) Collect anode-next-requiredviolation whennextis blank; returns whether it is present.
-
Method Details
-
compile
-
compileBody
Compile a<subflow>'s body with the same compiler; its node ids are scoped to itself, and its plan is identified by the node it hangs from. -
requireNext
Collect anode-next-requiredviolation whennextis blank; returns whether it is present. -
compileBoundaries
public static List<WorkflowPlan.Boundary> compileBoundaries(String nodeId, List<BoundaryNode> boundaries, List<Violation> sink) Compile one node's boundaries in declaration order, the order they are tried. Whether a trigger suits the host isWorkflowValidator's.
-