NAME

Basset::Machine::State - used to create machine states.

AUTHOR

Jim Thomason, jim@jimandkoka.com

DESCRIPTION

Read the pod on Basset::Machine for more information on machines. Basset::Machine::State is a mostly abstract superclass for states defined to work with machines.

 package Some::Machine::Foozle;
 use base 'Basset::Machine::State';
 
 sub main {
        my $self = shift;
        my $machine = $self->machine;
        
        #do interesting things.
        
        return $machine->transition('beezle');
 }

states live under their machine ('My::Machine' requires 'My::Machine::State1', 'My::Machine::State2', etc.) and are entered via the method ->main, which the machine calls when the state is entered.

ATTRIBUTES

machine

The machine associated with this state.

METHODS

main

abstract super method. You will need to override this with the code for your state. This implementation only aborts the machine.