Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / Moose::Object.3pm
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  | will give a
29 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
32 .tr \(*W-|\(bv\*(Tr
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
58 ..
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101 .\}
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
117 \{\
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
127 .\}
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
130 .\"
131 .IX Title "Moose::Object 3"
132 .TH Moose::Object 3 "2009-11-19" "perl v5.8.7" "User Contributed Perl Documentation"
133 .SH "NAME"
134 Moose::Object \- The base object for Moose
135 .SH "DESCRIPTION"
136 .IX Header "DESCRIPTION"
137 This class is the default base class for all Moose-using classes. When
138 you \f(CW\*(C`use Moose\*(C'\fR in this class, your class will inherit from this
139 class.
140 .PP
141 It provides a default constructor and destructor, which run the
142 \&\f(CW\*(C`BUILDALL\*(C'\fR and \f(CW\*(C`DEMOLISHALL\*(C'\fR methods respectively.
143 .PP
144 You don't actually \fIneed\fR to inherit from this in order to use Moose,
145 but it makes it easier to take advantage of all of Moose's features.
146 .SH "METHODS"
147 .IX Header "METHODS"
148 .IP "\fBMoose::Object\->new(%params)\fR" 4
149 .IX Item "Moose::Object->new(%params)"
150 This method calls \f(CW\*(C`$class\->BUILDARGS(@_)\*(C'\fR, and then creates a new
151 instance of the appropriate class. Once the instance is created, it
152 calls \f(CW\*(C`$instance\->BUILDALL($params)\*(C'\fR.
153 .IP "\fBMoose::Object\->\s-1BUILDARGS\s0(%params)\fR" 4
154 .IX Item "Moose::Object->BUILDARGS(%params)"
155 The default implementation of this method accepts a hash or hash
156 reference of named parameters. If it receives a single argument that
157 \&\fIisn't\fR a hash reference it throws an error.
158 .Sp
159 You can override this method in your class to handle other types of
160 options passed to the constructor.
161 .Sp
162 This method should always return a hash reference of named options.
163 .IP "\fB$object\->\s-1BUILDALL\s0($params)\fR" 4
164 .IX Item "$object->BUILDALL($params)"
165 This method will call every \f(CW\*(C`BUILD\*(C'\fR method in the inheritance
166 hierarchy, starting with the most distant parent class and ending with
167 the object's class.
168 .Sp
169 The \f(CW\*(C`BUILD\*(C'\fR method will be passed the hash reference returned by
170 \&\f(CW\*(C`BUILDARGS\*(C'\fR.
171 .IP "\fB$object\->\s-1DEMOLISHALL\s0\fR" 4
172 .IX Item "$object->DEMOLISHALL"
173 This will call every \f(CW\*(C`DEMOLISH\*(C'\fR method in the inheritance hierarchy,
174 starting with the object's class and ending with the most distant
175 parent. \f(CW\*(C`DEMOLISHALL\*(C'\fR and \f(CW\*(C`DEMOLISH\*(C'\fR will receive a boolean
176 indicating whether or not we are currently in global destruction.
177 .IP "\fB$object\->does($role_name)\fR" 4
178 .IX Item "$object->does($role_name)"
179 This returns true if the object does the given role.
180 .IP "\fB\s-1DOES\s0 ($class_or_role_name)\fR" 4
181 .IX Item "DOES ($class_or_role_name)"
182 This is a a Moose role-aware implementation of \*(L"\s-1DOES\s0\*(R" in \s-1UNIVERSAL\s0.
183 .Sp
184 This is effectively the same as writing:
185 .Sp
186 .Vb 1
187 \&  $object\->does($name) || $object\->isa($name)
188 .Ve
189 .Sp
190 This method will work with Perl 5.8, which did not implement
191 \&\f(CW\*(C`UNIVERSAL::DOES\*(C'\fR.
192 .IP "\fB$object\->dump($maxdepth)\fR" 4
193 .IX Item "$object->dump($maxdepth)"
194 This is a handy utility for \f(CW\*(C`Data::Dumper\*(C'\fRing an object. By default,
195 the maximum depth is 1, to avoid making a mess.
196 .SH "BUGS"
197 .IX Header "BUGS"
198 All complex software has bugs lurking in it, and this module is no
199 exception. If you find a bug please either email me, or add the bug
200 to cpan\-RT.
201 .SH "AUTHOR"
202 .IX Header "AUTHOR"
203 Stevan Little <stevan@iinteractive.com>
204 .SH "COPYRIGHT AND LICENSE"
205 .IX Header "COPYRIGHT AND LICENSE"
206 Copyright 2006\-2009 by Infinity Interactive, Inc.
207 .PP
208 <http://www.iinteractive.com>
209 .PP
210 This library is free software; you can redistribute it and/or modify
211 it under the same terms as Perl itself.