package UR::Role::Instance; use strict; use warnings; our $VERSION = "0.46"; # UR $VERSION; UR::Object::Type->define( class_name => 'UR::Role::Instance', doc => 'Instance of a role composed into a class', id_by => ['role_name','class_name'], has => [ role_name => { is => 'Text', doc => 'ID of the role prototype' }, role_prototype => { is => 'UR::Role::Prototype', id_by => 'role_name' }, class_name => { is => 'Test', doc => 'Class this role instance is composed into' }, class_meta => { is => 'UR::Object::Type', id_by => 'class_name' }, role_params => { is => 'HASH', doc => 'Parameters used when this role was composed', is_optional => 1 }, ], is_transactional => 0, ); 1; =pod =head1 NAME UR::Role::Instance - Represents a role composed with a class with a set of params =head1 DESCRIPTION When a class composes one or more roles, the role names given in the class description are converted to UR::Role::Instance objects as the class is constructed. These are returned by the class' C method. =head2 Methods =over 4 =item role_name() Returns the name of the role =item class_name() Returns the name of the class composing the role =item role_params() Returns a hashref of role params used when the class composed the role =back =head1 SEE ALSO L, L