Class::MOP::Method::Accessor - Method Meta Object for accessors

NAME  VERSION  SYNOPSIS  DESCRIPTION  METHODS  AUTHORS  COPYRIGHT AND LICENSE 

NAME

Class::MOP::Method::Accessor − Method Meta Object for accessors

VERSION

version 2.2206

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.


Updated 2024-01-29 - jenkler.se | uex.se