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
COPYRIGHT
Copyright 2006 - 2009 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.