Represents one instance of a task recipe running for an organisation, such as a store setup wizard or an onboarding checklist, together with the parameters collected while working through it. A project is created from a recipe (see RecipeManager) and is persisted as project.xml inside the organisation's "_projects" repository, where its root element is "recipe". Instances are effectively immutable: the with* methods return a modified copy rather than changing the project in place, so callers must use the returned instance.
Group: Recipes
Properties
| Property | Returns | Description |
|---|---|---|
| name | String | The project's directory name in the projects repository. This is derived from the storage location rather than being persisted with the project, and is set by ProjectManager when the project is loaded. |
| parameters | Map<String,Serializable> | The settings collected for this project while working through its recipe, keyed by parameter name. |
| recipeName | String | The name of the recipe that this project was created from and that drives its tasks. |
| title | String | The project's display title, as set when the project was created or updated with withTitle. |
Methods
copy() · getName() · getTitle() · getRecipeName() · getParameters() · withTitle(String s) · withRecipe(String recipeName) · withParameter(String name, Serializable value) · relatedHref(TaskRecipeStep task, TaskRecipeStepOutcome outcome)
copy()
Returns: Project
Creates a shallow copy of this project, duplicating the parameters map so the copy can be modified independently. Used internally by the with* methods to implement the immutable update pattern.
getName()
Returns: String
The project's directory name in the projects repository. This is derived from the storage location rather than being persisted with the project, and is set by ProjectManager when the project is loaded.
getTitle()
Returns: String
The project's display title, as set when the project was created or updated with withTitle.
getRecipeName()
Returns: String
The name of the recipe that this project was created from and that drives its tasks.
getParameters()
Returns: Map<String,Serializable>
The settings collected for this project while working through its recipe, keyed by parameter name.
withTitle(String s)
Returns: Project
Returns a copy of this project with its title changed. This project is left unchanged.
| Parameter | Description |
|---|---|
s | the new title |
withRecipe(String recipeName)
Returns: Project
Returns a copy of this project with its recipe name changed. This project is left unchanged.
| Parameter | Description |
|---|---|
recipeName | the name of the recipe the project should be associated with |
withParameter(String name, Serializable value)
Returns: Project
Returns a copy of this project with the given parameter added or replaced. This project is left unchanged.
| Parameter | Description |
|---|---|
name | the parameter name |
value | the parameter value |
relatedHref(TaskRecipeStep task, TaskRecipeStepOutcome outcome)
Returns: String
Resolves the URL to show for a given recipe step outcome in the context of this project, evaluating any function or placeholder substitution defined on the outcome. Results are cached per outcome id on this project instance so repeated calls avoid re-evaluating the outcome's related href function.
| Parameter | Description |
|---|---|
task | the recipe step that owns the outcome |
outcome | the outcome whose related href is being resolved |