use MooseX::Declare
class MyCollection {
has 'items' => (
is => 'rw',
isa => 'HashRef[Object]',
traits => ['Hash'],
defaults => sub { {} }
)
some..methods
}
use MooseX::Declare;
class Child {
has 'name' => (
is => 'rw',
isa => 'Str'
);
some..methods
}
use MooseX::Declare;
use MyCollection
class Parent {
has 'children => (
is => 'rw',
isa => 'MyCollection'
)
some..methods
}
####
subtype 'MyChildrenCollection'
=> as 'Collection',
where => { $_->isa('Child') }
##
##
has 'children' => (is => 'rw', 'isa' => 'MyChildrenCollection'