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

PropertyReturnsDescription
nameStringThe 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.
parametersMap<String,Serializable>The settings collected for this project while working through its recipe, keyed by parameter name.
recipeNameStringThe name of the recipe that this project was created from and that drives its tasks.
titleStringThe 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.

ParameterDescription
sthe new title

withRecipe(String recipeName)

Returns: Project

Returns a copy of this project with its recipe name changed. This project is left unchanged.

ParameterDescription
recipeNamethe 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.

ParameterDescription
namethe parameter name
valuethe 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.

ParameterDescription
taskthe recipe step that owns the outcome
outcomethe outcome whose related href is being resolved
To get full access to the Kademi Hub existing customers can login here, or new customers can register here.