NAME

POE::Declare::Meta - Metadata object that describes a POE::Declare class

DESCRIPTION

POE::Declare::Meta objects are constructed and used internally by POE::Declare during class construction. POE::Declare::Meta objects are not created directly.

Access to the meta object for a POE::Declare class is via the exported meta function.

METHODS

name

The name accessor returns the name of the class for this meta instance.

alias

The alias accessor returns the alias root string that will be used for objects that are created of this type.

Normally this will be identical to the class name but may be changed at constructor time.

sequence

Because each object has its own POE::Session, each session also needs its own session alias, and the session alias is derived from a combination of the alias method an an incrementing sequence value.

The sequence accessor returns the most recently requested value from the sequence. As with sequence in SQL, not all values pulled from the sequence will necesarily be used in an object, and objects will not necesarily have incrementing sequence values.

next_alias

The next_alias method generates and returns a new session alias, by taking the alias base string and appending an incremented sequence value.

The typical alias string returned will look something like 'My::Class.123'.

super_path

The super_path method is provided as a convenience, and returns a list of the inheritance path for the class.

It is equivalent to Class::ISA::self_and_super_path('My::Class').

attr

my $attribute = My::Class->meta->attr('foo');

The attr method is used to get a single named attribute meta object within the class meta object.

Returns a POE::Declare::Meta::Attribute object or undef if no such named attribute exists.

SUPPORT

Bugs should be always be reported via the CPAN bug tracker at

http://rt.cpan.org/NoAuth/ReportBug.html?Queue=POE-Declare

For other issues, or commercial enhancement or support, contact the author.

AUTHORS

Adam Kennedy <adamk@cpan.org>

SEE ALSO

POE

COPYRIGHT

Copyright 2006 - 2012 Adam Kennedy.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.