NAME
    Class::Value - The Value Object design pattern

SYNOPSIS
        Class::Value->new;

DESCRIPTION
    None yet. This is an early release; fully functional, but undocumented.
    The next release will have more documentation.

METHODS
    "new"
            my $obj = Class::Value->new;
            my $obj = Class::Value->new(%args);

        Creates and returns a new object. The constructor will accept as
        arguments a list of pairs, from component name to initial value. For
        each pair, the named component is initialized by calling the method
        of the same name with the given value. If called with a single hash
        reference, it is dereferenced and its key/value pairs are set as
        described before.

    "clear_exception_container"
            $obj->clear_exception_container;

        Deletes the object.

    "clear_notify_delegate"
            $obj->clear_notify_delegate;

        Clears the value.

    "exception_container"
            my $object = $obj->exception_container;
            $obj->exception_container($object);
            $obj->exception_container(@args);

        If called with an argument object of type
        Error::Hierarchy::Container it sets the object; further arguments
        are discarded. If called with arguments but the first argument is
        not an object of type Error::Hierarchy::Container, a new object of
        type Error::Hierarchy::Container is constructed and the arguments
        are passed to the constructor.

        If called without arguments, it returns the
        Error::Hierarchy::Container object stored in this slot; if there is
        no such object, a new Error::Hierarchy::Container object is
        constructed - no arguments are passed to the constructor in this
        case - and stored in the exception_container slot before returning
        it.

    "exception_container_clear"
            $obj->exception_container_clear;

        Deletes the object.

    "notify_delegate"
            my $value = $obj->notify_delegate;
            $obj->notify_delegate($value);

        A basic getter/setter method. If called without an argument, it
        returns the value. If called with a single argument, it sets the
        value.

    "notify_delegate_clear"
            $obj->notify_delegate_clear;

        Clears the value.

    Class::Value inherits from Class::Accessor::Complex,
    Class::Accessor::Constructor, and Class::Accessor::Constructor::Base.

    The superclass Class::Accessor::Complex defines these methods and
    functions:

        mk_abstract_accessors(), mk_array_accessors(), mk_boolean_accessors(),
        mk_class_array_accessors(), mk_class_hash_accessors(),
        mk_class_scalar_accessors(), mk_concat_accessors(),
        mk_forward_accessors(), mk_hash_accessors(), mk_integer_accessors(),
        mk_new(), mk_object_accessors(), mk_scalar_accessors(),
        mk_set_accessors(), mk_singleton()

    The superclass Class::Accessor defines these methods and functions:

        _carp(), _croak(), _mk_accessors(), accessor_name_for(),
        best_practice_accessor_name_for(), best_practice_mutator_name_for(),
        follow_best_practice(), get(), make_accessor(), make_ro_accessor(),
        make_wo_accessor(), mk_accessors(), mk_ro_accessors(),
        mk_wo_accessors(), mutator_name_for(), set()

    The superclass Class::Accessor::Installer defines these methods and
    functions:

        install_accessor()

    The superclass Class::Accessor::Constructor defines these methods and
    functions:

        _make_constructor(), mk_constructor(), mk_constructor_with_dirty(),
        mk_singleton_constructor()

    The superclass Data::Inherited defines these methods and functions:

        every_hash(), every_list(), flush_every_cache_by_key()

    The superclass Class::Accessor::Constructor::Base defines these methods
    and functions:

        STORE(), clear_dirty(), clear_hygienic(), clear_unhygienic(),
        contains_hygienic(), contains_unhygienic(), delete_hygienic(),
        delete_unhygienic(), dirty(), dirty_clear(), dirty_set(),
        elements_hygienic(), elements_unhygienic(), hygienic(),
        hygienic_clear(), hygienic_contains(), hygienic_delete(),
        hygienic_elements(), hygienic_insert(), hygienic_is_empty(),
        hygienic_size(), insert_hygienic(), insert_unhygienic(),
        is_empty_hygienic(), is_empty_unhygienic(), set_dirty(),
        size_hygienic(), size_unhygienic(), unhygienic(), unhygienic_clear(),
        unhygienic_contains(), unhygienic_delete(), unhygienic_elements(),
        unhygienic_insert(), unhygienic_is_empty(), unhygienic_size()

    The superclass Tie::StdHash defines these methods and functions:

        CLEAR(), DELETE(), EXISTS(), FETCH(), FIRSTKEY(), NEXTKEY(), SCALAR(),
        TIEHASH()

BUGS AND LIMITATIONS
    No bugs have been reported.

    Please report any bugs or feature requests through the web interface at
    <http://rt.cpan.org>.

INSTALLATION
    See perlmodinstall for information and options on installing Perl
    modules.

AVAILABILITY
    The latest version of this module is available from the Comprehensive
    Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a
    CPAN site near you. Or see <http://search.cpan.org/dist/Class-Value/>.

AUTHORS
    Marcel Grnauer, "<marcel@cpan.org>"

COPYRIGHT AND LICENSE
    Copyright 2004-2009 by the authors.

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

