blob: 9eaa4ed1df372b4657bd7fb6cf86f77f0d78ef5a [file] [log] [blame]
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -04001<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6 <title>google.appengine.ext.db.PropertiedClass</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12 alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
16 <tr valign="middle">
17
18 <!-- Tree link -->
19 <th>&nbsp;&nbsp;&nbsp;<a
20 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
21
22 <!-- Index link -->
23 <th>&nbsp;&nbsp;&nbsp;<a
24 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
25
26 <!-- Help link -->
27 <th>&nbsp;&nbsp;&nbsp;<a
28 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
29
30 <th class="navbar" width="100%"></th>
31 </tr>
32</table>
33<table width="100%" cellpadding="0" cellspacing="0">
34 <tr valign="top">
35 <td width="100%">
36 <span class="breadcrumbs">
37 google ::
38 appengine ::
39 ext ::
40 db ::
41 PropertiedClass ::
42 Class&nbsp;PropertiedClass
43 </span>
44 </td>
45 <td>
46 <table cellpadding="0" cellspacing="0">
47 <!-- hide/show private -->
48 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
49 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
50 <tr><td align="right"><span class="options"
51 >[<a href="frames.html" target="_top">frames</a
52 >]&nbsp;|&nbsp;<a href="google.appengine.ext.db.PropertiedClass-class.html"
53 target="_top">no&nbsp;frames</a>]</span></td></tr>
54 </table>
55 </td>
56 </tr>
57</table>
58<!-- ==================== TYPE DESCRIPTION ==================== -->
59<h1 class="epydoc">Type PropertiedClass</h1><p class="nomargin-top"></p>
60<center>
Joe Gregorio37802c32013-08-06 12:24:05 -040061<center> <map id="uml_class_diagram_for_google_a" name="uml_class_diagram_for_google_a">
62<area shape="rect" id="node99" href="google.appengine.ext.db.PropertiedClass-class.html#__init__" title="Initializes a class that might have property definitions." alt="" coords="17,559,301,577"/>
63<area shape="rect" id="node1" href="google.appengine.ext.db.PropertiedClass-class.html" title="Meta&#45;class for initializing Model classes properties." alt="" coords="5,526,312,583"/>
64<area shape="rect" id="node100" href="javascript:void(0);" title="type.__abstractmethods__" alt="" coords="93,31,225,49"/>
65<area shape="rect" id="node100" href="javascript:void(0);" title="type.__base__" alt="" coords="93,49,225,68"/>
66<area shape="rect" id="node100" href="javascript:void(0);" title="type.__bases__" alt="" coords="93,68,225,87"/>
67<area shape="rect" id="node100" href="javascript:void(0);" title="type.__basicsize__" alt="" coords="93,87,225,105"/>
68<area shape="rect" id="node100" href="javascript:void(0);" title="type.__dictoffset__" alt="" coords="93,105,225,124"/>
69<area shape="rect" id="node100" href="javascript:void(0);" title="type.__flags__" alt="" coords="93,124,225,143"/>
70<area shape="rect" id="node100" href="javascript:void(0);" title="type.__itemsize__" alt="" coords="93,143,225,161"/>
71<area shape="rect" id="node100" href="javascript:void(0);" title="type.__mro__" alt="" coords="93,161,225,180"/>
72<area shape="rect" id="node100" href="javascript:void(0);" title="type.__name__" alt="" coords="93,180,225,199"/>
73<area shape="rect" id="node100" href="javascript:void(0);" title="type.__weakrefoffset__" alt="" coords="93,199,225,217"/>
74<area shape="rect" id="node100" href="javascript:void(0);" title="x(...)" alt="" coords="93,220,225,239"/>
75<area shape="rect" id="node100" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="93,239,225,257"/>
76<area shape="rect" id="node100" href="javascript:void(0);" title="x==y" alt="" coords="93,257,225,276"/>
77<area shape="rect" id="node100" href="javascript:void(0);" title="x&gt;=y" alt="" coords="93,276,225,295"/>
78<area shape="rect" id="node100" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="93,295,225,313"/>
79<area shape="rect" id="node100" href="javascript:void(0);" title="x&gt;y" alt="" coords="93,313,225,332"/>
80<area shape="rect" id="node100" href="javascript:void(0);" title="hash(x)" alt="" coords="93,332,225,351"/>
81<area shape="rect" id="node100" href="javascript:void(0);" title="check if an object is an instance" alt="" coords="93,351,225,369"/>
82<area shape="rect" id="node100" href="javascript:void(0);" title="x&lt;=y" alt="" coords="93,369,225,388"/>
83<area shape="rect" id="node100" href="javascript:void(0);" title="x&lt;y" alt="" coords="93,388,225,407"/>
84<area shape="rect" id="node100" href="javascript:void(0);" title="x!=y" alt="" coords="93,407,225,425"/>
85<area shape="rect" id="node100" href="javascript:void(0);" title="type.__new__" alt="" coords="93,425,225,444"/>
86<area shape="rect" id="node100" href="javascript:void(0);" title="repr(x)" alt="" coords="93,444,225,463"/>
87<area shape="rect" id="node100" href="javascript:void(0);" title="return a type&#39;s method resolution order" alt="" coords="93,481,225,500"/>
88<area shape="rect" id="node2" href="javascript:void(0);" title="type(object) &#45;&gt; the object&#39;s type..." alt="" coords="81,6,236,506"/>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040089</map>
Joe Gregorio37802c32013-08-06 12:24:05 -040090 <img src="uml_class_diagram_for_google_a.gif" alt='' usemap="#uml_class_diagram_for_google_a" ismap="ismap" class="graph-without-title" />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040091</center>
92</center>
93<hr />
94<pre class="literalblock">
95Meta-class for initializing Model classes properties.
96
97Used for initializing Properties defined in the context of a model.
98By using a meta-class much of the configuration of a Property
99descriptor becomes implicit. By using this meta-class, descriptors
100that are of class Model are notified about which class they
101belong to and what attribute they are associated with and can
102do appropriate initialization via __property_config__.
103
104Duplicate properties are not permitted.
105
106</pre>
107
108<!-- ==================== INSTANCE METHODS ==================== -->
109<a name="section-InstanceMethods"></a>
110<table class="summary" border="1" cellpadding="3"
111 cellspacing="0" width="100%" bgcolor="white">
112<tr bgcolor="#70b0f0" class="table-header">
113 <td colspan="2" class="table-header">
114 <table border="0" cellpadding="0" cellspacing="0" width="100%">
115 <tr valign="top">
116 <td align="left"><span class="table-header">Instance Methods</span></td>
117 <td align="right" valign="top"
118 ><span class="options">[<a href="#section-InstanceMethods"
119 class="privatelink" onclick="toggle_private();"
120 >hide private</a>]</span></td>
121 </tr>
122 </table>
123 </td>
124</tr>
125<tr>
126 <td width="15%" align="right" valign="top" class="summary">
127 <span class="summary-type"><pre class="literalblock">
128the object's type
129
130</pre></span>
131 </td><td class="summary">
132 <table width="100%" cellpadding="0" cellspacing="0" border="0">
133 <tr>
134 <td><span class="summary-sig"><a href="google.appengine.ext.db.PropertiedClass-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">cls</span>,
135 <span class="summary-sig-arg">name</span>,
136 <span class="summary-sig-arg">bases</span>,
137 <span class="summary-sig-arg">dct</span>,
138 <span class="summary-sig-arg">map_kind</span>=<span class="summary-sig-default">True</span>)</span><br />
139 Initializes a class that might have property definitions.</td>
140 <td align="right" valign="top">
141
142
143 </td>
144 </tr>
145 </table>
146
147 </td>
148 </tr>
149 <tr>
150 <td colspan="2" class="summary">
151 <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
152 <code>__call__</code>,
153 <code>__delattr__</code>,
154 <code>__eq__</code>,
155 <code>__ge__</code>,
156 <code>__getattribute__</code>,
157 <code>__gt__</code>,
158 <code>__hash__</code>,
Joe Gregorio41be8e82013-03-07 10:31:47 -0500159 <code>__instancecheck__</code>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400160 <code>__le__</code>,
161 <code>__lt__</code>,
162 <code>__ne__</code>,
163 <code>__new__</code>,
164 <code>__repr__</code>,
165 <code>__setattr__</code>,
Joe Gregorio41be8e82013-03-07 10:31:47 -0500166 <code>__subclasscheck__</code>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400167 <code>__subclasses__</code>,
168 <code>mro</code>
169 </p>
170 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
171 <code>__format__</code>,
172 <code>__reduce__</code>,
173 <code>__reduce_ex__</code>,
174 <code>__sizeof__</code>,
175 <code>__str__</code>,
176 <code>__subclasshook__</code>
177 </p>
178 </td>
179 </tr>
180</table>
181<!-- ==================== PROPERTIES ==================== -->
182<a name="section-Properties"></a>
183<table class="summary" border="1" cellpadding="3"
184 cellspacing="0" width="100%" bgcolor="white">
185<tr bgcolor="#70b0f0" class="table-header">
186 <td colspan="2" class="table-header">
187 <table border="0" cellpadding="0" cellspacing="0" width="100%">
188 <tr valign="top">
189 <td align="left"><span class="table-header">Properties</span></td>
190 <td align="right" valign="top"
191 ><span class="options">[<a href="#section-Properties"
192 class="privatelink" onclick="toggle_private();"
193 >hide private</a>]</span></td>
194 </tr>
195 </table>
196 </td>
197</tr>
198 <tr>
199 <td colspan="2" class="summary">
200 <p class="indent-wrapped-lines"><b>Inherited from <code>type</code></b>:
201 <code>__abstractmethods__</code>,
202 <code>__base__</code>,
203 <code>__bases__</code>,
204 <code>__basicsize__</code>,
205 <code>__dictoffset__</code>,
206 <code>__flags__</code>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400207 <code>__itemsize__</code>,
208 <code>__mro__</code>,
209 <code>__name__</code>,
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400210 <code>__weakrefoffset__</code>
211 </p>
212 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
213 <code>__class__</code>
214 </p>
215 </td>
216 </tr>
217</table>
218<!-- ==================== METHOD DETAILS ==================== -->
219<a name="section-MethodDetails"></a>
220<table class="details" border="1" cellpadding="3"
221 cellspacing="0" width="100%" bgcolor="white">
222<tr bgcolor="#70b0f0" class="table-header">
223 <td colspan="2" class="table-header">
224 <table border="0" cellpadding="0" cellspacing="0" width="100%">
225 <tr valign="top">
226 <td align="left"><span class="table-header">Method Details</span></td>
227 <td align="right" valign="top"
228 ><span class="options">[<a href="#section-MethodDetails"
229 class="privatelink" onclick="toggle_private();"
230 >hide private</a>]</span></td>
231 </tr>
232 </table>
233 </td>
234</tr>
235</table>
236<a name="__init__"></a>
237<div>
238<table class="details" border="1" cellpadding="3"
239 cellspacing="0" width="100%" bgcolor="white">
240<tr><td>
241 <table width="100%" cellpadding="0" cellspacing="0" border="0">
242 <tr valign="top"><td>
243 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">cls</span>,
244 <span class="sig-arg">name</span>,
245 <span class="sig-arg">bases</span>,
246 <span class="sig-arg">dct</span>,
247 <span class="sig-arg">map_kind</span>=<span class="sig-default">True</span>)</span>
248 <br /><em class="fname">(Constructor)</em>
249 </h3>
250 </td><td align="right" valign="top"
251 >&nbsp;
252 </td>
253 </tr></table>
254
255 <pre class="literalblock">
256Initializes a class that might have property definitions.
257
258This method is called when a class is created with the PropertiedClass
259meta-class.
260
261Loads all properties for this model and its base classes in to a dictionary
262for easy reflection via the 'properties' method.
263
264Configures each property defined in the new class.
265
266Duplicate properties, either defined in the new class or defined separately
267in two base classes are not permitted.
268
269Properties may not assigned to names which are in the list of
270_RESERVED_WORDS. It is still possible to store a property using a reserved
271word in the datastore by using the 'name' keyword argument to the Property
272constructor.
273
274Args:
275 cls: Class being initialized.
276 name: Name of new class.
277 bases: Base classes of new class.
278 dct: Dictionary of new definitions for class.
279
280Raises:
281 DuplicatePropertyError when a property is duplicated either in the new
282 class or separately in two base classes.
283 ReservedWordError when a property is given a name that is in the list of
284 reserved words, attributes of Model and names of the form '__.*__'.
285
286</pre>
287 <dl class="fields">
288 <dt>Returns: <pre class="literalblock">
289the object's type
290
291</pre></dt>
292 <dt>Overrides:
293 object.__init__
294 </dt>
295 </dl>
296</td></tr></table>
297</div>
298<br />
299<!-- ==================== NAVIGATION BAR ==================== -->
300<table class="navbar" border="0" width="100%" cellpadding="0"
301 bgcolor="#a0c0ff" cellspacing="0">
302 <tr valign="middle">
303
304 <!-- Tree link -->
305 <th>&nbsp;&nbsp;&nbsp;<a
306 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
307
308 <!-- Index link -->
309 <th>&nbsp;&nbsp;&nbsp;<a
310 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
311
312 <!-- Help link -->
313 <th>&nbsp;&nbsp;&nbsp;<a
314 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
315
316 <th class="navbar" width="100%"></th>
317 </tr>
318</table>
319<table border="0" cellpadding="0" cellspacing="0" width="100%%">
320 <tr>
321 <td align="left" class="footer">
Joe Gregorio37802c32013-08-06 12:24:05 -0400322 Generated by Epydoc 3.0.1 on Tue Aug 6 12:16:44 2013
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400323 </td>
324 <td align="right" class="footer">
325 <a target="mainFrame" href="http://epydoc.sourceforge.net"
326 >http://epydoc.sourceforge.net</a>
327 </td>
328 </tr>
329</table>
330
331<script type="text/javascript">
332 <!--
333 // Private objects are initially displayed (because if
334 // javascript is turned off then we want them to be
335 // visible); but by default, we want to hide them. So hide
336 // them unless we have a cookie that says to show them.
337 checkCookie();
338 // -->
339</script>
340</body>
341</html>