NAME¶
Class::Trait::Config - Trait configuration information storage package.
SYNOPSIS¶
This package is used internally by Class::Trait to store Trait configuration
information. It is also used by Class::Trait::Reflection to gather information
about a Trait.
DESCRIPTION¶
This class is a intentionally very C-struct-like. It is meant to help
encapsulate the Trait configuration information in a clean easy to access way.
This class is effectively sealed. It is not meant to be extended, only to be
used.
METHODS¶
- new
- Creates a new empty Class::Trait::Config object, with
fields initialized to empty containers.
- name
- An accessor to the "name" string field of the
Class::Trait::Config object.
- sub_traits
- An accessor to the "sub_traits" array reference
field of the Class::Trait::Config object.
- requirements
- An accessor to the "requirements" hash reference
field of the Class::Trait::Config object. Note, the requirements field is
a hash reference to speed requirement lookup, the values of the hash are
simply booleans.
- methods
- An accessor to the "methods" hash reference field
of the Class::Trait::Config object.
- overloads
- An accessor to the "overloads" hash reference
field of the Class::Trait::Config object.
- conflicts
- An accessor to the "conflicts" hash reference
field of the Class::Trait::Config object. Note, the conflicts field is a
hash reference to speed conflict lookup, the values of the hash are simply
booleans.
- clone
- Provides deep copy functionality for the
Class::Trait::Config object. This will be sure to copy all sub-elements of
the object, but not to attempt to copy and subroutine references
found.
SEE ALSO¶
Class::Trait,
Class::Trait::Reflection
AUTHOR¶
Stevan Little <stevan@iinteractive.com>
COPYRIGHT AND LICENSE¶
Copyright 2004, 2005 by Infinity Interactive, Inc.
<
http://www.iinteractive.com>
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.