Class::MOP::Method::Accessor - Method Meta Object for accessors
use Class::MOP::Method::Accessor;
my $reader = Class::MOP::Method::Accessor->new(
attribute => $attribute,
is_inline => 1,
accessor_type => 'reader',
);
$reader->body->execute($instance); # call the reader method
This is a subclass of "Class::MOP::Method"
which is used by "Class::MOP::Attribute" to
generate accessor code. It handles generation of readers, writers, predicates
and clearers. For each type of method, it can either create a subroutine
reference, or actually inline code by generating a string and
"eval"'ing it.
- Class::MOP::Method::Accessor->new(%options)
- This returns a new
"Class::MOP::Method::Accessor" based on
the %options provided.
- attribute
This is the
"Class::MOP::Attribute" for which
accessors are being generated. This option is required.
- accessor_type
This is a string which should be one of "reader",
"writer", "accessor", "predicate", or
"clearer". This is the type of method being generated. This
option is required.
- is_inline
This indicates whether or not the accessor should be inlined.
This defaults to false.
- name
The method name (without a package name). This is
required.
- package_name
The package name for the method. This is required.
- $metamethod->accessor_type
- Returns the accessor type which was passed to
"new".
- $metamethod->is_inline
- Returns a boolean indicating whether or not the accessor is inlined.
- $metamethod->associated_attribute
- This returns the Class::MOP::Attribute object which was passed to
"new".
- $metamethod->body
- The method itself is generated when the accessor object is
constructed.
- Stevan Little <stevan@cpan.org>
- Dave Rolsky <autarch@urth.org>
- Jesse Luehrs <doy@cpan.org>
- Shawn M Moore <sartak@cpan.org>
- יובל קוג'מן
(Yuval Kogman) <nothingmuch@woobling.org>
- Karen Etheridge <ether@cpan.org>
- Florian Ragwitz <rafl@debian.org>
- Hans Dieter Pearcey <hdp@cpan.org>
- Chris Prather <chris@prather.org>
- Matt S Trout <mstrout@cpan.org>
This software is copyright (c) 2006 by Infinity Interactive, Inc.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.