Class::MOP::Method::Accessor (3)
Leading comments
Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) Standard preamble: ========================================================================
NAME
Class::MOP::Method::Accessor - Method Meta Object for accessorsVERSION
version 2.1807SYNOPSIS
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.METHODS
- 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.
AUTHORS
- *
- Stevan Little <stevan.little@iinteractive.com>
- *
- Dave Rolsky <autarch@urth.org>
- *
- Jesse Luehrs <doy@tozt.net>
- *
- Shawn M Moore <code@sartak.org>
- *
- יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
- *
- Karen Etheridge <ether@cpan.org>
- *
- Florian Ragwitz <rafl@debian.org>
- *
- Hans Dieter Pearcey <hdp@weftsoar.net>
- *
- Chris Prather <chris@prather.org>
- *
- Matt S Trout <mst@shadowcat.co.uk>
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.