pub struct HandlerContext<'a> {
pub params: &'a HashMap<ParamId, Value>,
pub artifacts: &'a HashMap<ArtifactId, ArtifactValue>,
pub roles: &'a HashMap<RoleId, String>,
pub materials: &'a HashMap<MaterialId, String>,
}Expand description
Read-only view of execution state for handlers.
Handlers receive this view; they cannot modify state directly. They
return a StepResult, which the executor folds into the next state.
Fields§
§params: &'a HashMap<ParamId, Value>Instance parameters.
artifacts: &'a HashMap<ArtifactId, ArtifactValue>Artifacts produced so far.
roles: &'a HashMap<RoleId, String>Role ID → display name mapping.
materials: &'a HashMap<MaterialId, String>Material ID → display name mapping (for showing material titles in expressions).
Implementations§
Source§impl HandlerContext<'_>
impl HandlerContext<'_>
Sourcepub fn resolve_role(&self, role_id: &RoleId) -> String
pub fn resolve_role(&self, role_id: &RoleId) -> String
Resolve a role ID to a display name.
Sourcepub fn resolve_role_name(&self, role_name: &str) -> String
pub fn resolve_role_name(&self, role_name: &str) -> String
Resolve a role name to its display name.
Takes a plain role name (not reference syntax) after expression
evaluation. Example: resolve_role_name("admin") → “Alice (Admin)”.
Sourcepub fn get_artifact(&self, id: &ArtifactId) -> Option<&ArtifactValue>
pub fn get_artifact(&self, id: &ArtifactId) -> Option<&ArtifactValue>
Get an artifact by ID.
Sourcepub fn resolve_material(&self, material_id: &MaterialId) -> Option<&str>
pub fn resolve_material(&self, material_id: &MaterialId) -> Option<&str>
Resolve a material ID to a display name (title or ID).
Returns None if the ID is not a material.
Trait Implementations§
Source§impl<'a> Clone for HandlerContext<'a>
impl<'a> Clone for HandlerContext<'a>
impl<'a> Copy for HandlerContext<'a>
Auto Trait Implementations§
impl<'a> Freeze for HandlerContext<'a>
impl<'a> RefUnwindSafe for HandlerContext<'a>
impl<'a> Send for HandlerContext<'a>
impl<'a> Sync for HandlerContext<'a>
impl<'a> Unpin for HandlerContext<'a>
impl<'a> UnsafeUnpin for HandlerContext<'a>
impl<'a> UnwindSafe for HandlerContext<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more