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 lvalue subroutine for accessing the name string field of the Class::Trait::Config object.

sub_traits

An lvalue subroutine for accessing the sub_traits array reference field of the Class::Trait::Config object.

requirements

An lvalue subroutine for accessing 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 lvalue subroutine for accessing the methods hash reference field of the Class::Trait::Config object.

overloads

An lvalue subroutine for accessing the overloads hash reference field of the Class::Trait::Config object.

conflicts

An lvalue subroutine for accessing 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.