Class::Workflow::State - An instance's position in the workflow.


Class-Workflow documentation Contained in the Class-Workflow distribution.

Index


Code Index:

NAME

Top

Class::Workflow::State - An instance's position in the workflow.

SYNOPSIS

Top

	package MyState;
	use Moose;

	with 'Class::Workflow::State';

DESCRIPTION

Top

This is an abstract role for state implementations. In order ot work properly all states

METHODS

Top

accept_instance

Since this method is probably not going to be used an empty version is supplied. You may override it, but be sure to return the instance (either the one you got, or if you applied cascaded transitions, the one that you made).

Look in Class::Workflow::State::AcceptHooks for an example of how this can be used.

REQUIRED METHODS

Top

has_transition
has_transitions

Whether or not the state contains the transition object (or objects). You can add more behaviors but it should always work for transition objects.

transitions

This method should return the list of all transition objects. You may add more methods that return the transitions in another organization, but make sure that this method called with no arguments will always return the transitions. When this method is called with arguments it should set the transition list to the new list, or die if the operation is not supported.


Class-Workflow documentation Contained in the Class-Workflow distribution.

#!/usr/bin/perl

package Class::Workflow::State;
use Moose::Role;

requires "transitions"; # enumerate the transitions

requires "has_transition";
requires "has_transitions";

sub accept_instance {
	my ( $self, $instance, @args ) = @_;
	return $instance;
}

__PACKAGE__;

__END__