Interface Model<SELF,ID>
- Type Parameters:
SELF- the type of the implementing class (for method chaining and copying)ID- the type of the identifier for this model element
- All Superinterfaces:
CanCopy<SELF>,HasId<ID>,Validatable
- All Known Subinterfaces:
Capability,Condition,ConditionalResult,Conditions,DefaultResult,Fork,Function,Join,MutableWorkflowDefinition,Register,Result<E>,State,Transition,Validator,WorkflowDefinition
Base interface for all workflow model elements. Model provides the fundamental structure and
capabilities that all workflow components must implement, including validation, identification,
copying, and property management.
Model is the root interface in the workflow model hierarchy and defines the core contract that all workflow elements must follow. It combines validation, identification, and copying capabilities with property management and extension support.
All workflow model elements (states, transitions, functions, conditions, etc.) implement this interface, ensuring consistent behavior across the entire workflow definition model.
- Since:
- 1.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns the extension provider associated with this model element.Model<?,?> Returns the parent model element of this model element.Returns the properties associated with this model element.Compares the properties of this model element with another instance and returns the set of property names that differ between them.Methods inherited from interface com.yworkflow.definition.model.validation.Validatable
validate
-
Method Details
-
getProperties
Properties getProperties()Returns the properties associated with this model element.- Returns:
- the properties for this model element
-
getExtensions
ExtensionProvider getExtensions()Returns the extension provider associated with this model element.- Returns:
- the extension provider for this model element
-
getParent
Model<?,?> getParent()Returns the parent model element of this model element.- Returns:
- the parent model element, or null if this is a root element
-
getPropertyDifference
Compares the properties of this model element with another instance and returns the set of property names that differ between them.- Parameters:
c2- the other model element to compare with- Returns:
- a set of property names that differ between the two model elements
-