1 package Reaction::Meta::InterfaceModel::Object::Class;
3 use aliased 'Reaction::Meta::InterfaceModel::Object::ParameterAttribute';
4 use aliased 'Reaction::Meta::InterfaceModel::Object::DomainModelAttribute';
8 use namespace::clean -except => [ qw(meta) ];
9 extends 'Reaction::Meta::Class';
11 around initialize => sub {
15 $super->($class, $pkg, attribute_metaclass => ParameterAttribute, @_);
17 sub add_domain_model {
20 $self->add_attribute($name, metaclass => DomainModelAttribute, @_);
22 sub parameter_attributes {
24 return grep { $_->isa(ParameterAttribute) }
25 $self->get_all_attributes;
29 return grep { $_->isa(DomainModelAttribute) }
30 $self->get_all_attributes;
33 __PACKAGE__->meta->make_immutable(inline_constructor => 0);
40 Reaction::Meta::InterfaceModel::Object::Class
46 =head2 add_domain_model
50 =head2 parameter_attributes
54 See L<Reaction::Class> for authors.
58 See L<Reaction::Class> for the license.