|Class::MOP::Method::Accessor(3pm)||User Contributed Perl Documentation||Class::MOP::Method::Accessor(3pm)|
NAME¶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
DESCRIPTION¶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.
- This returns a new "Class::MOP::Method::Accessor" based on the %options provided.
This is the "Class::MOP::Attribute" for which accessors are being generated. This option is required.
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.
This indicates whether or not the accessor should be inlined. This defaults to false.
The method name (without a package name). This is required.
The package name for the method. This is required.
- Returns the accessor type which was passed to "new".
- Returns a boolean indicating whether or not the accessor is inlined.
- This returns the Class::MOP::Attribute object which was passed to "new".
- The method itself is generated when the accessor object is constructed.
- Stevan Little <firstname.lastname@example.org>
- Dave Rolsky <email@example.com>
- Jesse Luehrs <firstname.lastname@example.org>
- Shawn M Moore <email@example.com>
- יובל קוג'מן (Yuval Kogman) <firstname.lastname@example.org>
- Karen Etheridge <email@example.com>
- Florian Ragwitz <firstname.lastname@example.org>
- Hans Dieter Pearcey <email@example.com>
- Chris Prather <firstname.lastname@example.org>
- Matt S Trout <email@example.com>
COPYRIGHT AND LICENSE¶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.