NAME

Workflow::Context - Data blackboard for Workflows, Actions, Conditions and Validators

VERSION

This documentation describes version 1.57 of this package

SYNOPSIS

 # Create your own context and merge it with one that may already be
 # in a workflow

 my $context = Workflow::Context->new();
 $context->param( foo => 'bar' );
 $context->param( current_user => User->fetch( 'foo@bar.com' ) );
 my $wf = FACTORY()->create_workflow( 'w/f', $context );

 # The above is the same as:
 $context = Workflow::Context->new(
      foo   => 'bar',
      current_user => User->fetch( 'foo@bar.com' ),
 );
 $wf = FACTORY()->create_workflow( 'w/f', $context );


 # In a Condition get the 'current_user' back out of the workflow's context

 sub evaluate {
     my ( $self, $wf ) = @_;
     my $current_user = $wf->context->param( 'current_user' );
     ...
 }

 # Set values directly into a workflow's context

 $wf->context->param( foo => 'bar' );
 $wf->context->param( news => My::News->fetch_where( 'date = ?', DateTime->now ) );

DESCRIPTION

Holds information to pass between your application and a Workflow, including its Actions, Conditions and Validators.

OBJECT METHODS

init( %params )

Adds %params to the context at instantiation.

merge( $other_context )

Merges the values from $other_context into this object. If there are duplicate keys in this object and $other_context, $other_context wins.

SEE ALSO

COPYRIGHT

Copyright (c) 2003-2021 Chris Winters. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Please see the LICENSE

AUTHORS

Please see Workflow