Class::MOP::Method::Accessor - Method Meta Object for accessors
version 2.2203
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 <[email protected]>
- •
- Dave Rolsky <[email protected]>
- •
- Jesse Luehrs <[email protected]>
- •
- Shawn M Moore <[email protected]>
- •
- יובל
קוג'מן (Yuval Kogman)
<[email protected]>
- •
- Karen Etheridge <[email protected]>
- •
- Florian Ragwitz <[email protected]>
- •
- Hans Dieter Pearcey <[email protected]>
- •
- Chris Prather <[email protected]>
- •
- Matt S Trout <[email protected]>
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.