Class::MOP::Method::Accessor - Method Meta Object for accessors
VERSION
version 2.2207
SYNOPSIS
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 <[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]>
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.