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 \*(C`name\*(C' string field of the Class::Trait::Config object.

sub_traits

An accessor to the \*(C`sub_traits\*(C' array reference field of the Class::Trait::Config object.

requirements

An accessor to the \*(C`requirements\*(C' 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 \*(C`methods\*(C' hash reference field of the Class::Trait::Config object.

overloads

An accessor to the \*(C`overloads\*(C' hash reference field of the Class::Trait::Config object.

conflicts

An accessor to the \*(C`conflicts\*(C' 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.

RELATED TO Class::Trait::Config…

Class::Trait, Class::Trait::Reflection

AUTHOR

Stevan Little <[email protected]>

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.