Mojo::Stateful(3) Stateful Base Class

SYNOPSIS


use base 'Mojo::Stateful';

DESCRIPTION

Mojo::Stateful is an abstract base class for state keeping objects.

ATTRIBUTES

Mojo::Stateful implements the following attributes.

state_cb

   my $cb    = $stateful->state_cb;
   $stateful = $stateful->state_cb(sub {...});

Callback that will be invoked whenever the state of this object changes.

METHODS

Mojo::Stateful inherits all methods from Mojo::Base and implements the following new ones.

done

    $stateful = $stateful->done;

Shortcut for setting the current state to "done".

error

    my $message          = $stateful->error;
    my ($message, $code) = $stateful->error;
    $stateful            = $stateful->error('Parser error.');
    $stateful            = $stateful->error('Parser error.', 500);

Shortcut for setting the current state to "error" with "code" and "message".

has_error

    my $has_error = $stateful->has_error;

Check if an error occured.

is_done

    my $done = $stateful->is_done;

Check if the state machine is "done".

is_finished

    my $finished = $stateful->is_finished;

Check if the state machine is finished, this includes the states "done", "done_with_leftovers" and "error".

is_state

    my $is_state = $stateful->is_state('writing');
    my $is_state = $stateful->is_state(qw/error reading writing/);

Check if the state machine is currently in a specific state.

state

    my $state = $stateful->state;
    $stateful = $stateful->state('writing');

The current state.