sub add_required_attributes {
my $self = shift;
+ for (@_) {
+ my $attr_name = $_;
+ $self->get_required_attributes_map->{$attr_name} = $attr_name;
+ }
}
sub add_required_class {
my $self = shift;
+ for (@_) {
+ my $class_name = $_;
+ $self->get_required_classes_map->{$class_name} = $class_name;
+ }
}
sub add_conflicting_method {
$self->check_role_exclusions(@_);
$self->check_required_methods(@_);
$self->check_required_attributes(@_);
+ $self->check_required_classes(@_);
$self->apply_attributes(@_);
$self->apply_methods(@_);
sub check_role_exclusions { Carp::croak "Abstract Method" }
sub check_required_methods { Carp::croak "Abstract Method" }
sub check_required_attributes { Carp::croak "Abstract Method" }
+sub check_required_classes { Carp::croak "Abstract Method" }
sub apply_attributes { Carp::croak "Abstract Method" }
sub apply_methods { Carp::croak "Abstract Method" }