Package com.yworkflow.definition.model
Interface Join
- All Superinterfaces:
CanCopy<Join>,HasId<JoinId>,HasParent<Join,,WorkflowDefinition> Model<Join,,JoinId> Validatable
Represents a join operation in a workflow definition. A join is a mechanism that synchronizes
multiple parallel workflow paths by waiting for all incoming active states to complete their
transitions before activating the resulting state.
Joins are essential for implementing complex workflow patterns where multiple parallel branches need to converge. They ensure that all parallel activities complete before proceeding to the next phase of the workflow.
Each join can have associated conditions that determine when the join should be triggered, and a default result that specifies the destination state and any additional processing to be performed.
- Since:
- 1.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns the conditions associated with this join.Returns the default result of this join.Creates a new BuildableJoinBuilder initialized with the current join definition.Methods inherited from interface com.yworkflow.definition.model.base.HasParent
withParentMethods inherited from interface com.yworkflow.definition.model.base.Model
getExtensions, getParent, getProperties, getPropertyDifferenceMethods inherited from interface com.yworkflow.definition.model.validation.Validatable
validate
-
Method Details
-
getConditions
Conditions getConditions()Returns the conditions associated with this join. These conditions determine when the join should be triggered and what criteria must be met for the join to complete successfully.- Returns:
- the conditions for this join
-
getResult
DefaultResult getResult()Returns the default result of this join. The result specifies the destination state and any additional processing to be performed when the join completes.- Returns:
- the default result of this join
-
toBuilder
BuildableJoinBuilder toBuilder()Creates a new BuildableJoinBuilder initialized with the current join definition. This method allows for easy modification of existing join definitions by providing a builder that starts with the current state of the join.The returned builder can be used to modify the join definition by adding, removing, or modifying conditions, results, and other join elements. After making the desired changes, call
BuildableJoinBuilder.build()to create a new Join instance.This is particularly useful for:
- Creating variations of existing joins
- Implementing join versioning
- Making incremental changes to join definitions
- Returns:
- a new BuildableJoinBuilder initialized with this join's current state
- See Also:
-