Class::MOP::Method(3) User Contributed Perl DocumentationClass::MOP::Method(3)NAMEClass::MOP::Method - Method Meta Object
VERSION
version 2.0402
DESCRIPTION
The Method Protocol is very small, since methods in Perl 5 are just
subroutines in a specific package. We provide a very basic
introspection interface.
METHODS
Class::MOP::Method->wrap($code, %options)
This is the constructor. It accepts a method body in the form of
either a code reference or a Class::MOP::Method instance, followed
by a hash of options.
The options are:
· name
The method name (without a package name). This is required
if $code is a coderef.
· package_name
The package name for the method. This is required if $code
is a coderef.
· associated_metaclass
An optional Class::MOP::Class object. This is the metaclass
for the method's class.
$metamethod->clone(%params)
This makes a shallow clone of the method object. In particular,
subroutine reference itself is shared between all clones of a given
method.
When a method is cloned, the original method object will be
available by calling "original_method" on the clone.
$metamethod->body
This returns a reference to the method's subroutine.
$metamethod->name
This returns the method's name
$metamethod->package_name
This returns the method's package name.
$metamethod->fully_qualified_name
This returns the method's fully qualified name (package name and
method name).
$metamethod->associated_metaclass
This returns the Class::MOP::Class object for the method, if one
exists.
$metamethod->original_method
If this method object was created as a clone of some other method
object, this returns the object that was cloned.
$metamethod->original_name
This returns the method's original name, wherever it was first
defined.
If this method is a clone of a clone (of a clone, etc.), this
method returns the name from the first method in the chain of
clones.
$metamethod->original_package_name
This returns the method's original package name, wherever it was
first defined.
If this method is a clone of a clone (of a clone, etc.), this
method returns the package name from the first method in the chain
of clones.
$metamethod->original_fully_qualified_name
This returns the method's original fully qualified name, wherever
it was first defined.
If this method is a clone of a clone (of a clone, etc.), this
method returns the fully qualified name from the first method in
the chain of clones.
$metamethod->is_stub
Returns true if the method is just a stub:
sub foo;
$metamethod->attach_to_class($metaclass)
Given a Class::MOP::Class object, this method sets the associated
metaclass for the method. This will overwrite any existing
associated metaclass.
$metamethod->detach_from_class
Removes any associated metaclass object for the method.
$metamethod->execute(...)
This executes the method. Any arguments provided will be passed on
to the method itself.
Class::MOP::Method->meta
This will return a Class::MOP::Class instance for this class.
It should also be noted that Class::MOP will actually bootstrap
this module by installing a number of attribute meta-objects into
its metaclass.
AUTHOR
Moose is maintained by the Moose Cabal, along with the help of many
contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for
details.
COPYRIGHT AND LICENSE
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.
perl v5.14.2 2012-02-04 Class::MOP::Method(3)