NAME

Moose::Meta::Role::Composite - An object to represent the set of roles

VERSION

version 2.2012

DESCRIPTION

A composite is a role that consists of a set of two or more roles.

The API of a composite role is almost identical to that of a regular role.

INHERITANCE

Moose::Meta::Role::Composite is a subclass of Moose::Meta::Role.

METHODS

Moose::Meta::Role::Composite->new(%options)

This returns a new composite role object. It accepts the same options as its parent class, with a few changes:

  • roles

    This option is an array reference containing a list of Moose::Meta::Role object. This is a required option.

  • name

    If a name is not given, one is generated from the roles provided.

  • apply_params(\%role_params)

    Creates a new RoleSummation role application with %role_params and applies the composite role to it. The RoleSummation role application class used is determined by the composite role's application_role_summation_class attribute.

  • reinitialize($metaclass)

    Like Class::MOP::Package->reinitialize, but doesn't allow passing a string with the package name, as there is no real package for composite roles.

BUGS

See "BUGS" in Moose for details on reporting bugs.

AUTHORS

  • Stevan Little <stevan.little@iinteractive.com>

  • Dave Rolsky <autarch@urth.org>

  • Jesse Luehrs <doy@tozt.net>

  • Shawn M Moore <code@sartak.org>

  • יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>

  • Karen Etheridge <ether@cpan.org>

  • Florian Ragwitz <rafl@debian.org>

  • Hans Dieter Pearcey <hdp@weftsoar.net>

  • Chris Prather <chris@prather.org>

  • Matt S Trout <mst@shadowcat.co.uk>

COPYRIGHT AND LICENSE

This software is copyright (c) 2006 by Infinity Interactive, Inc.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.