perl-Class-StateMachine-Declarative - Define state machines classes in a high level declarative fashion

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports noarch
Package name perl-Class-StateMachine-Declarative
Package version 0.03
Package release alt2
Package architecture noarch
Package type rpm
Installed size 21.34 KB
Download size 21.34 KB
Official Mirror
Class::StateMachine::Declarative is a the Class::StateMachine manpage (from now
on C::SM) extension that allows to define most of a state machine
class declaratively.
The way to create a new Class::StateMachine derived class from this
module is to pass a set of state declarations through its use
use Class::StateMachine::Declarative
$state1 => $decl1,
$state2 => $decl2,
Note that Class::StateMachine::Declarative will not set `@ISA' for
you, as you may want to derive your classes not from C::SM directly
but from some of its subclasses. For instance:
use parent 'My::StateMachine::BaseClass';
use Class::StateMachine::Declarative @decl;
The following attributes can be used to define the state behaviour:
=over 4
=item enter => $method
method to be called when the object enters in the state
=item leave => $method
method to be called when the object leaves the state
=item advance => $event
when this event (method call) happens the state is changed to the next one declared.
=item before => \%before
where %before contains pairs `$event => $action'
When any of the events on the declaration happens, the corresponding
action (a method actually) will be called before the final `advance',
`on', `transition' or `ignore' action is carried out.
Also, `before' actions are stacked on the hierarchy. So, if you
define a before action for a state and then another for some substate,
then both `before' actions will be called when on the substate.
For instance:
foo => { ignore => ['bar'],
before => { bar => 'bar_from_foo' },
substates => [ doz => { before => { bar => 'bar_from_doz' } } ] };
Invoking `bar' from the state `foo/doz' calls both `bar_from_foo'
and `bar_from_doz' methods.
Note that `before' actions are not carried out when the principal
action is marked as delayed (via the `delay' declaration).
Before actions is the ideal place to propagate events to other
=item on => \%on
where %on co...


Package Version Architecture Repository
perl-Class-StateMachine-Declarative - - -


Name Value
/usr/share/perl5 -
perl(Class/ >= 0.230
perl(Scalar/ -
perl-base >= 1:5.10.0
rpmlib(PayloadIsLzma) -


Name Value
perl(Class/StateMachine/ = 0.030
perl(Class/StateMachine/Declarative/ -
perl-Class-StateMachine-Declarative = 0.03-alt2


Type URL
Binary Package perl-Class-StateMachine-Declarative-0.03-alt2.noarch.rpm
Source Package perl-Class-StateMachine-Declarative-0.03-alt2.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] noarch autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-Class-StateMachine-Declarative rpm package:
    # sudo apt-get install perl-Class-StateMachine-Declarative



See Also

Package Description
perl-Class-Std-Slots-0.31-alt1.noarch.rpm Provide signals and slots for standard classes
perl-Class-Std-Storable-0.0.1-alt1.noarch.rpm perl module Class-Std-Storable
perl-Class-Std-Utils-v0.0.3-alt2_9.noarch.rpm Utility subroutines for building "inside-out" objects
perl-Class-Storage-0.03-alt1.noarch.rpm pack objects by removing blessing so they can be unpacked back
perl-Class-StorageFactory-1.0-alt1.noarch.rpm base class for factories to store and fetch objects
perl-Class-StrongSingleton-0.02-alt1.noarch.rpm perl module Class-StrongSingleton
perl-Class-Struct-FIELDS-1.1-alt1.noarch.rpm Combine Class::Struct, base and fields
perl-Class-StructTemplate-0.01-alt1.noarch.rpm perl module Class-StructTemplate
perl-Class-Structured-0.1-alt1.noarch.rpm provides a more structured class system for Perl
perl-Class-Superclasses-0.07-alt1.noarch.rpm Find all superclasses of a class
perl-Class-TLB-0.01-alt1.noarch.rpm Transparent load balancing for any resource class
perl-Class-Tables-0.28-alt1.noarch.rpm perl module Class-Tables
perl-Class-Tag-0.10-alt1.noarch.rpm programmatically label (mark) classes, methods, roles and modules with meta-data tags (key/value pa
perl-Class-Tangram-1.57-alt1.noarch.rpm Tangram-friendly classes, DWIM attributes
perl-Class-Tie-InsideOut-0.11-alt2.noarch.rpm Inside-out objects on the cheap using tied hashes