Class JoinId
java.lang.Object
com.yworkflow.definition.model.value.JoinId
- All Implemented Interfaces:
DestinationId,ModelId
Represents a unique identifier for a workflow join. JoinId is an immutable value object that
identifies a specific join operation within a workflow definition.
JoinId implements the DestinationId interface, making it suitable for use as a destination in workflow transitions. It supports both a value (required) and an optional name for human-readable identification.
Joins are used to synchronize multiple parallel workflow paths by waiting for all incoming active states to complete their transitions before activating the resulting state. Each join must have a unique identifier within the workflow definition.
- Since:
- 1.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbooleanCompares this JoinId with another object for equality.getName()Returns the optional human-readable name of this join.getValue()Returns the string value of this join ID.inthashCode()Returns the hash code for this JoinId based on its string value.booleanisJoinId()Returns true since this is a JoinId.static JoinIdCreates a new JoinId with the specified value and no name.static JoinIdCreates a new JoinId with the specified value and name.Creates a new JoinId with the same value but a different name.toString()Returns a string representation of this JoinId.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.yworkflow.definition.model.value.DestinationId
isForkId, isStateId
-
Method Details
-
getValue
Returns the string value of this join ID.- Specified by:
getValuein interfaceDestinationId- Specified by:
getValuein interfaceModelId- Returns:
- the join identifier string
-
getName
Returns the optional human-readable name of this join.- Specified by:
getNamein interfaceDestinationId- Returns:
- an Optional containing the name if present, empty otherwise
-
isJoinId
public boolean isJoinId()Returns true since this is a JoinId.- Specified by:
isJoinIdin interfaceDestinationId- Returns:
- always true
-
joinId
Creates a new JoinId with the specified value and no name.- Parameters:
value- the join identifier string- Returns:
- a new JoinId instance
- Throws:
IllegalArgumentException- if the value is invalid
-
joinId
Creates a new JoinId with the specified value and name.- Parameters:
value- the join identifier stringname- the optional human-readable name- Returns:
- a new JoinId instance
- Throws:
IllegalArgumentException- if the value is invalid
-
name
Creates a new JoinId with the same value but a different name.- Parameters:
name- the new name for this join ID- Returns:
- a new JoinId instance with the specified name
-
equals
Compares this JoinId with another object for equality. Two JoinId instances are equal if they have the same string value. -
hashCode
public int hashCode()Returns the hash code for this JoinId based on its string value. -
toString
Returns a string representation of this JoinId.
-