.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Mouse::Meta::Class 3pm" .TH Mouse::Meta::Class 3pm 2023-07-26 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Mouse::Meta::Class \- The Mouse class metaclass .SH VERSION .IX Header "VERSION" This document describes Mouse version v2.5.10 .SH DESCRIPTION .IX Header "DESCRIPTION" This class is a meta object protocol for Mouse classes, which is a subset of Moose::Meta:::Class. .SH METHODS .IX Header "METHODS" .ie n .SS """initialize(ClassName) \-> Mouse::Meta::Class""" .el .SS "\f(CWinitialize(ClassName) \-> Mouse::Meta::Class\fP" .IX Subsection "initialize(ClassName) -> Mouse::Meta::Class" Finds or creates a \f(CW\*(C`Mouse::Meta::Class\*(C'\fR instance for the given ClassName. Only one instance should exist for a given class. .ie n .SS """name \-> ClassName""" .el .SS "\f(CWname \-> ClassName\fP" .IX Subsection "name -> ClassName" Returns the name of the owner class. .ie n .SS """superclasses \-> ClassNames"" superclass(ClassNames)" .el .SS "\f(CWsuperclasses \-> ClassNames\fP \f(CWsuperclass(ClassNames)\fP" .IX Subsection "superclasses -> ClassNames superclass(ClassNames)" Gets (or sets) the list of superclasses of the owner class. .ie n .SS """add_method(name => CodeRef)""" .el .SS "\f(CWadd_method(name => CodeRef)\fP" .IX Subsection "add_method(name => CodeRef)" Adds a method to the owner class. .ie n .SS """has_method(name) \-> Bool""" .el .SS "\f(CWhas_method(name) \-> Bool\fP" .IX Subsection "has_method(name) -> Bool" Returns whether we have a method with the given name. .ie n .SS """get_method(name) \-> Mouse::Meta::Method | undef""" .el .SS "\f(CWget_method(name) \-> Mouse::Meta::Method | undef\fP" .IX Subsection "get_method(name) -> Mouse::Meta::Method | undef" Returns a Mouse::Meta::Method with the given name. .PP Note that you can also use \f(CW\*(C`$metaclass\->name\->can($name)\*(C'\fR for a method body. .ie n .SS """get_method_list \-> Names""" .el .SS "\f(CWget_method_list \-> Names\fP" .IX Subsection "get_method_list -> Names" Returns a list of method names which are defined in the local class. If you want a list of all applicable methods for a class, use the \&\f(CW\*(C`get_all_methods\*(C'\fR method. .ie n .SS """get_all_methods \-> (Mouse::Meta::Method)""" .el .SS "\f(CWget_all_methods \-> (Mouse::Meta::Method)\fP" .IX Subsection "get_all_methods -> (Mouse::Meta::Method)" Return the list of all Mouse::Meta::Method instances associated with the class and its superclasses. .ie n .SS """add_attribute(name => spec | Mouse::Meta::Attribute)""" .el .SS "\f(CWadd_attribute(name => spec | Mouse::Meta::Attribute)\fP" .IX Subsection "add_attribute(name => spec | Mouse::Meta::Attribute)" Begins keeping track of the existing Mouse::Meta::Attribute for the owner class. .ie n .SS """has_attribute(Name) \-> Bool""" .el .SS "\f(CWhas_attribute(Name) \-> Bool\fP" .IX Subsection "has_attribute(Name) -> Bool" Returns whether we have a Mouse::Meta::Attribute with the given name. .ie n .SS """get_attribute Name \-> Mouse::Meta::Attribute | undef""" .el .SS "\f(CWget_attribute Name \-> Mouse::Meta::Attribute | undef\fP" .IX Subsection "get_attribute Name -> Mouse::Meta::Attribute | undef" Returns the Mouse::Meta::Attribute with the given name. .ie n .SS """get_attribute_list \-> Names""" .el .SS "\f(CWget_attribute_list \-> Names\fP" .IX Subsection "get_attribute_list -> Names" Returns a list of attribute names which are defined in the local class. If you want a list of all applicable attributes for a class, use the \f(CW\*(C`get_all_attributes\*(C'\fR method. .ie n .SS """get_all_attributes \-> (Mouse::Meta::Attribute)""" .el .SS "\f(CWget_all_attributes \-> (Mouse::Meta::Attribute)\fP" .IX Subsection "get_all_attributes -> (Mouse::Meta::Attribute)" Returns the list of all Mouse::Meta::Attribute instances associated with this class and its superclasses. .ie n .SS """linearized_isa \-> [ClassNames]""" .el .SS "\f(CWlinearized_isa \-> [ClassNames]\fP" .IX Subsection "linearized_isa -> [ClassNames]" Returns the list of classes in method dispatch order, with duplicates removed. .ie n .SS """new_object(Parameters) \-> Instance""" .el .SS "\f(CWnew_object(Parameters) \-> Instance\fP" .IX Subsection "new_object(Parameters) -> Instance" Creates a new instance. .ie n .SS """clone_object(Instance, Parameters) \-> Instance""" .el .SS "\f(CWclone_object(Instance, Parameters) \-> Instance\fP" .IX Subsection "clone_object(Instance, Parameters) -> Instance" Clones the given instance which must be an instance governed by this metaclass. .ie n .SS """throw_error(Message, Parameters)""" .el .SS "\f(CWthrow_error(Message, Parameters)\fP" .IX Subsection "throw_error(Message, Parameters)" Throws an error with the given message. .SH "SEE ALSO" .IX Header "SEE ALSO" Mouse::Meta::Module .PP Moose::Meta::Class .PP Class::MOP::Class