Package su.onno.process
Class ProcessDefinitions
java.lang.Object
su.onno.process.ProcessDefinitions
Validated, version-aware registry of application-provided process definitions.
-
Constructor Summary
ConstructorsConstructorDescriptionProcessDefinitions(List<ProcessDefinition<?, ?>> definitions) Register definitions without version migrations.ProcessDefinitions(List<ProcessDefinition<?, ?>> definitions, List<ProcessDefinitionMigration<?, ?, ?, ?>> migrations) Register versioned definitions and their deterministic forward migration edges. -
Method Summary
Modifier and TypeMethodDescriptionList<ProcessDefinition<?, ?>> all()Latest definition for each stable key, in registration-key order.List<ProcessDefinition<?, ?>> Every registered definition version, ordered by key registration and ascending version.List<ProcessDefinitionMigration<?, ?, ?, ?>> migrationPath(String key, int storedVersion) Resolve the deterministic migration chain from a stored version to the latest version.List<ProcessDefinitionMigration<?, ?, ?, ?>> migrationPath(String key, int fromVersion, int toVersion) Resolve a deterministic forward migration chain between two registered versions.ProcessDefinition<?, ?> Resolve the latest registered version for a stable definition key.ProcessDefinition<?, ?> Resolve the exact definition version persisted by an instance.List<ProcessDefinition<?, ?>> Registered versions for one stable definition key, in ascending order.
-
Constructor Details
-
ProcessDefinitions
Register definitions without version migrations. Existing definitions default to version 1. -
ProcessDefinitions
public ProcessDefinitions(List<ProcessDefinition<?, ?>> definitions, List<ProcessDefinitionMigration<?, ?, ?, ?>> migrations) Register versioned definitions and their deterministic forward migration edges.
-
-
Method Details
-
require
Resolve the latest registered version for a stable definition key. -
require
Resolve the exact definition version persisted by an instance. -
all
Latest definition for each stable key, in registration-key order. -
allVersions
Every registered definition version, ordered by key registration and ascending version. -
versions
Registered versions for one stable definition key, in ascending order. -
migrationPath
Resolve the deterministic migration chain from a stored version to the latest version.- Throws:
IllegalArgumentException- when the stored version is unknown or no complete path exists
-
migrationPath
public List<ProcessDefinitionMigration<?,?, migrationPath?, ?>> (String key, int fromVersion, int toVersion) Resolve a deterministic forward migration chain between two registered versions.Each source version may have only one outgoing migration, so lookup can never silently choose between competing upgrade routes.
-