my $someframework = SomeFramework->new(parameter => 'value');
####
has 'logger' => (
is => 'ro',
isa => 'SomeFramework::Logger',
reader => 'get_logger',
writer => '_set_logger',
builder => '_build_logger',
lazy => 1
);
sub _build_logger {
my $self = shift;
SomeFramework::Logger->new(someframework => $self);
}
####
has 'someframework' => (
is => 'ro',
isa => 'SomeFramework',
reader => 'get_someframework',
writer => '_set_someframework',
required => 1
);
####
my $configuration =
$self->
get_someframework->
get_configuration->
get_blah_blah;
####
my $configuration =
$self->
get_someframework->
get_somesubsystem->
get_somecomponent->
get_configuration->
get_blah_blah;
####
my $configuration = $self->sc->ss->sf->conf->blah_blah;
####
has 'some_framework' => (
is => 'ro',
isa => 'SomeFramework',
reader => 'sf',
writer => '_set_someframework',
required => 1
);
####
has 'some_framework' => (
is => 'ro',
isa => 'SomeFramework',
reader => 'get_someframework',
writer => '_set_someframework',
required => 1,
alias => 'sf'
);
####
has 'api' => (
is => 'ro',
isa => 'SomeFramework::API',
reader => '_get_api',
writer => '_set_api',
required => 1,
alias => 'api'
);
####
has 'api' => (
is => 'ro',
isa => 'SomeFramework::API',
reader => '_get_api',
writer => '_set_api',
required => 1,
handles => {
api => 'return_self'
# ^^^ It's supposed to have some method that
# returns the reference to its own object
}
);