The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Hyper::Config::Object::Context - Context Configuration Object

VERSION

This document describes Hyper::Config::Object::Context 0.01

SYNOPSIS

    use Hyper::Config::Object::Context;
    use Hyper::Config::Object::Default;

    my $context = Hyper::Config::Object::Context->new();
    $context->set_config_of(
        'MyClass::Name' => Hyper::Config::Object::Default->new({
            data => {
                file => '/tmp/x.tmp',
                path => '/tmp',
            },
        }),
    );

       $context->get_config('MyClass::Name')->get_path()
    eq $context->get_config('MyClass::Singleton::Name')->get_path()
    eq '/tmp';

DESCRIPTION

Hyper::Config::Object::Context is used to access contextual configuration items, eg. cache_path for Hyper::Persistence.

SUBROUTINES/METHODS

set_config_of

    $context->set_config_of(
        'MyPackage::Name' => $config,
    );

You can set the config for a package where every kind of storable object and data structre is allowed as $config.

get_config

    my $config = $context->get_config('MyPackage::Name');

or use automatically the caller package as key

    my $config = $context->get_config();

Returns the Configuration item of an object.

Lookup Sequence (first found config is used)

  • via given key (if there was no param we use caller package as key)

  • remove any >::Singleton< things from the key and do the lookup again

  • last chance to get a config using >Global< as key

DIAGNOSTICS

CONFIGURATION AND ENVIRONMENT

DEPENDENCIES

  • version

  • Class::Std::Storable

INCOMPATIBILITIES

BUGS AND LIMITATIONS

RCS INFORMATIONS

Last changed by
 $Author: ac0v $
Id
 $Id: Context.pm 317 2008-02-16 01:52:33Z ac0v $
Revision
 $Revision: 317 $
Date
 $Date: 2008-02-16 02:52:33 +0100 (Sa, 16 Feb 2008) $
HeadURL
 $HeadURL: http://svn.hyper-framework.org/Hyper/Hyper/tags/0.05/lib/Hyper/Config/Object/Context.pm $

AUTHOR

Andreas Specht <ACID@cpan.org>

LICENSE AND COPYRIGHT

Copyright (c) 2007, Andreas Specht <ACID@cpan.org>. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.