# phpman > perldoc > Moose::Meta::Role::Composite

## NAME
    [Moose::Meta::Role::Composite](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ARole%3A%3AComposite/markdown) - An object to represent the set of roles

## VERSION
    version 2.2200

## 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](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ARole%3A%3AComposite/markdown)" is a subclass of [Moose::Meta::Role](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ARole/markdown).

## METHODS
  [Moose::Meta::Role::Composite](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ARole%3A%3AComposite/markdown)->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](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ARole/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3AMOP%3A%3APackage/markdown)->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@cpan.org>>

    *   Dave Rolsky <<autarch@urth.org>>

    *   Jesse Luehrs <<doy@cpan.org>>

    *   Shawn M Moore <<sartak@cpan.org>>

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

    *   Karen Etheridge <<ether@cpan.org>>

    *   Florian Ragwitz <<rafl@debian.org>>

    *   Hans Dieter Pearcey <<hdp@cpan.org>>

    *   Chris Prather <<chris@prather.org>>

    *   Matt S Trout <<mstrout@cpan.org>>

## 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.

