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

NAME

Persistence::Attribute::AMCAdapter - Adapter to Abstract::Meta::Class meta object protocol.

CLASS HIERARCHY

 Persistence::Attribute
    |
    +----Persistence::Attribute::AMCAdapter

SYNOPSIS

    package Employee;

    use Abstract::Meta::Class ':all';
    use Persistence::ORM ':all';

    my $orm = entity 'emp';
    $orm->set_mop_attribute_adapter('Persistence::Attribute::AMCAdapter');
    
    column empno => has('$.no') ;
    column ename => has('$.name');

DESCRIPTION

Interface to MOP attribute object adapters.

EXPORT

None.

ATTRIBUES

object_creation_method

Returns object creation method. Allowed values: bless or new

attribute

Any MOP atrribute.

METHODS

name

Attribute name.

accessor

Accessor name - name of the method that returns value of the attribute.

    my $accessor = $attribute->accessor;
    my $value = $obj->$accessor;
mutator

Accessor name - name of the method that sets value of the attribute.

storage_key

Attribute storage key.

If this option is set and object_creation_method is set to 'bless' then a new object creation will use bless method

    bless { map {($_->storage_key,  $args{$_->name})} @attributes}, $class

otherwise new method will be used.

    $class->new(map {($_->name,  $args{$_->name})} @attributes);
associated_class

Name of the associated class.

For isntance if you have relationship bettwen My::Employee object and My::Dept then associated_class will be My::Dept

class_name

Class to whom the attribute belongs.

get_value

Returns value form object without triggering any events. Takes object as parameter.

set_value

Sets object value without triggering any events. Takes object, value as parameter.

has_value

Returns true if object has value for the attribute.

find_attribute

Returns attribute Takes class name attribute name.

create_meta_attribute

Return a new persisitence attribute object

install_fetch_interceptor

COPYRIGHT AND LICENSE

The Persistence::ORM::Attribute module is free software. You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.

AUTHOR

Adrian Witas,adrian@webapp.strefa.pl