NAME
    Class::Data::Inheritable::Translucent - Inheritable, overridable,
    translucent class data / object attributes

SYNOPSIS
      package Foo;
      use base 'Class::Data::Inheritable::Translucent';

      Foo->mk_translucent("bar");
      Foo->bar("baz");

      $obj = Foo->new;

      print $obj->bar; # prints "baz"

      $obj->bar("whatever");

      print $obj->bar; # prints "whatever"
      print Foo->bar;  # prints "baz"

      $obj->bar(undef);

      print $obj->bar; # prints "baz"

DESCRIPTION
    This module is based on Class::Data::Inheritable, and is largely the
    same, except the class data accessors double as translucent object
    attributes.

    Object data, by default, is stored in $obj->{$attribute}. See the
    ->attrs method, explained below, on how to change that.

METHODS
    mk_translucent
        Creates inheritable class data / translucent instance attributes

    attrs
        This method is called by the generated accessors and, by default,
        simply returns the object that called it, which should be a hash
        reference for storing object attributes. If your objects are not
        hashrefs, or you wish to store your object attributes in a different
        location, eg. $obj->{attrs}, you should override this method.
        Class::Data::Inheritable::Translucent stores object attributes in
        $obj->attrs->{$attribute}.

AUTHOR
    Steve Hay <F<shay@cpan.org>> is now maintaining
    Class::Data::Inheritable::Translucent as of version 1.00

    Originally by Ryan McGuigan

    Based on Class::Data::Inheritable, originally by Damian Conway

ACKNOWLEDGEMENTS
    Thanks to Damian Conway for Class::Data::Inheritable

COPYRIGHT & LICENSE
    Version 0.01 Copyright 2005 Ryan McGuigan, all rights reserved.
    Changes in Version 1.00 onwards Copyright (C) 2009 Steve Hay

    mk_translucent is based on mk_classdata from
    Class::Data::Inheritable, Copyright Damian Conway and Michael G Schwern,
    licensed under the terms of the Perl Artistic License.

    This program is free software; It may be used, redistributed and/or
    modified under the terms of the Perl Artistic License (see
    <http://www.perl.com/perl/misc/Artistic.html>)

BUGS
    Please report any bugs or feature requests on the CPAN Request Tracker at
    F<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Class-Data-Inheritable-Translucent>.

SEE ALSO
    * Class::Data::Inheritable

    * perltooc - Tom's OO Tutorial for Class Data in Perl - a pretty nice
      Class Data tutorial for Perl

    * The source. It's quite short, and simple enough.

