Chris Williams > MouseX-POE-0.214 > MouseX::POE::Meta::Trait::Object

Download:
MouseX-POE-0.214.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.214   Source  

NAME ^

MouseX::POE::Meta::Trait::Object - The base class role for MouseX::POE

VERSION ^

version 0.214

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 ^

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.

syntax highlighting: