View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Jesse Luehrs > Moose-2.0603 > Class::MOP::Method::Accessor



Annotate this POD


New  10
Open  42
Stalled  11
View/Report Bugs
Module Version: 2.0603   Source   Latest Release: Moose-2.2011


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


version 2.0603


    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.



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.


Returns the accessor type which was passed to new.


Returns a boolean indicating whether or not the accessor is inlined.


This returns the Class::MOP::Attribute object which was passed to new.


The method itself is generated when the accessor object is constructed.


Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for details.


This software is copyright (c) 2012 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.

syntax highlighting: