++ed by:

265 non-PAUSE users.

Karen Etheridge 🐾 🌋
and 1 contributors


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


version 2.1005


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.


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



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.


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


Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for details.


This software is copyright (c) 2013 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.