NAME
MouseX::POE::Meta::Trait::Object - The base class role for MouseX::POE
VERSION
version 0.216
SYNOPSIS
package Counter;
use MouseX::Poe;
has name => (
isa => 'Str',
is => 'rw',
default => sub { 'Foo ' },
);
has count => (
isa => 'Int',
is => 'rw',
lazy => 1,
default => sub { 0 },
);
sub START {
my ($self) = @_;
$self->yield('increment');
}
sub increment {
my ($self) = @_;
$self->count( $self->count + 1 );
$self->yield('increment') unless $self->count > 3;
}
no MouseX::Poe;
DESCRIPTION
MouseX::POE::Meta::TraitObject is a role that is applied to the object base classe (usually Mouse::Object) that implements a POE::Session.
METHODS
get_session_id
Get the internal POE Session ID, this is useful to hand to other POE aware functions.
yield
call
delay
alarm
alarm_add
delay_add
alarm_set
alarm_adjust
alarm_remove
alarm_remove_all
delay_set
delay_adjust
A cheap alias for the same POE::Kernel function which will gurantee posting to the object's session.
STARTALL
Along similar lines to Mouse's BUILDALL
method which calls all the BUILD
methods, this function will call all the START
methods in your inheritance hierarchy automatically when POE first runs your session. (This corresponds to the _start
event from POE.)
STOPALL
Along similar lines to STARTALL
, but for STOP
instead.
START
STOP
DEFAULT
CHILD
PARENT
__PACKAGE__->meta->add_method( _default => __PACKAGE__->meta->get_method('DEFAULT') ) if __PACKAGE__->meta->has_method('DEFAULT');
__PACKAGE__->meta->add_method( _child => __PACKAGE__->meta->get_method('CHILD') ) if __PACKAGE__->meta->has_method('CHILD');
__PACKAGE__->meta->add_method( _parent => __PACKAGE__->meta->get_method('PARENT') ) if __PACKAGE__->meta->has_method('PARENT');
DEFAULT METHODS
PREDEFINED EVENTS
AUTHORS
Chris Prather <chris@prather.org>
Ash Berlin <ash@cpan.org>
Chris Williams <chris@bingosnet.co.uk>
Yuval (nothingmuch) Kogman
Torsten Raudssus <torsten@raudssus.de> http://www.raudssus.de/
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Chris Prather, Ash Berlin, Chris Williams, Yuval Kogman, Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.