NAME

Bread::Board::Declare::Meta::Role::Attribute::Container - attribute metarole for container attributes in Bread::Board::Declare

VERSION

version 0.16

DESCRIPTION

This attribute trait indicates that the attribute (in a Bread::Board::Declare class) contains a subcontainer rather than a service. It must be specified explicitly (or else a service that happens to return a container will be created):

has attr => (
    traits => ['Container'],
    is     => 'ro',
    isa    => 'Bread::Board::Container',
);

Container attributes (unlike service attributes) can have defaults and builders, allowing you to also define subcontainers inline when desired, as in:

has attr => (
    traits  => ['Container'],
    is      => 'ro',
    isa     => 'Bread::Board::Container',
    default => sub {
        container Foo => as {
            service Bar => 'BAR';
        };
    }
);

ATTRIBUTES

dependencies

If no default or builder is supplied, the type constraint will be used to create a container instance automatically (using a temporary ConstructorInjection service). This is the dependency specification to use for that temporary service.

AUTHOR

Jesse Luehrs <doy@tozt.net>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2014 by Jesse Luehrs.

This is free software, licensed under:

The MIT (X11) License