Scroll to navigation

Moose::Meta::Role::Composite(3pm) User Contributed Perl Documentation Moose::Meta::Role::Composite(3pm)


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


version 2.2013


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.


  • Stevan Little <>
  • Dave Rolsky <>
  • Jesse Luehrs <>
  • Shawn M Moore <>
  • יובל קוג'מן (Yuval Kogman) <>
  • Karen Etheridge <>
  • Florian Ragwitz <>
  • Hans Dieter Pearcey <>
  • Chris Prather <>
  • Matt S Trout <>


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.

2020-07-23 perl v5.30.3