# Class::MOP::Method::Accessor - phpMan

## NAME
    [Class::MOP::Method::Accessor] - Method Meta Object for accessors

## VERSION
    version 2.2200

## 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 <<stevan@cpan.org>>

    *   Dave Rolsky <<autarch@urth.org>>

    *   Jesse Luehrs <<doy@cpan.org>>

    *   Shawn M Moore <<sartak@cpan.org>>

    *   יובל קוג'מן (Yuval Kogman) <<nothingmuch@woobling.org>>

    *   Karen Etheridge <<ether@cpan.org>>

    *   Florian Ragwitz <<rafl@debian.org>>

    *   Hans Dieter Pearcey <<hdp@cpan.org>>

    *   Chris Prather <<chris@prather.org>>

    *   Matt S Trout <<mstrout@cpan.org>>

## 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.

