Class::MOP::Method::Accessor(3pm)

Class::MOP::Method::Accessor3pm

Method meta object for accessors

Usage

    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

Version

version 2.4001

Overview

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.

Releases

11 releases since Debian 4.0 (Etch); the text changed 10 times.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 7
  5. 8
  6. 9
  7. 10
  8. 11
  9. 12
  10. 13
  11. Arch