POE::Declare::Meta::Param - A named attribute passed to the constructor as a parameter.


POE::Declare::Meta::Param is a sub-class of POE::Declare::Meta::Attribute. It defines an attribute for which the initial value will be passed by name to the constructor.

The declaration does not concern itself with issues of type or whether the param is required. These types of issues are left as a concern for the implementation.

After the object has been created, the parameter will be read-only.

Any values that should be controllable after object creation should be changed via a custom method or event that understands the statefulness of the object, and will make the actual change to the attribute at the correct time, and in the correct manner.

By default, every class is assigned a default Alias parameter.

This parameter represents the name of the object, which should be unique at a process level for the duration of the entire process and persist across multiple starting and stopping of the object (if it supports stopping and restarting).

By default, each object is assigned a name based on the class and an incrementing number. A typical Alias might be "Class::Name.123".

If you wish to override this with your own name for an object, you are free to do so.


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

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


Adam Kennedy <>


POE, POE::Declare


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.