twisted.enterprise.row.RowObject.html [plain text]
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>twisted.enterprise.row.RowObject</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
<tr valign="center">
<th class="navbar"> <a class="navbar" href="twisted.html">Home</a> </th>
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center">
<p class="nomargin">
<a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted 1.3.0rc1</a>
</p></th></tr></table>
</th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<font size="-1"><b class="breadcrumbs">
<a href="twisted.html">Package twisted</a> ::
<a href="twisted.enterprise.html">Package enterprise</a> ::
<a href="twisted.enterprise.row.html">Module row</a> ::
Class RowObject
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a> | <a href="twisted.enterprise.row.RowObject.html" target="_top">no frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class RowObject</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="twisted.enterprise.dbcred.IdentityRow.html"><code>IdentityRow</code></a>,
<a href="twisted.enterprise.dbcred.PerspectiveRow.html"><code>PerspectiveRow</code></a></dd></dl>
<hr/>
<pre class="literalblock">
I represent a row in a table in a relational database.
My class is "populated" by a Reflector object. After I am
populated, instances of me are able to interact with a particular
database table.
You should use a class derived from this class for each database
table.
reflector.loadObjectsFrom() is used to create sets of
instance of objects of this class from database tables.
Once created, the "key column" attributes cannot be changed.
Class Attributes that users must supply:
rowKeyColumns # list of key columns in form: [(columnName, typeName)]
rowTableName # name of database table
rowColumns # list of the columns in the table with the correct
# case.this will be used to create member variables.
rowFactoryMethod # method to create an instance of this class.
# HACK: must be in a list!!! [factoryMethod] (optional)
rowForeignKeys # keys to other tables (optional)
</pre>
<hr/>
<!-- =========== START OF METHOD SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Method Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.enterprise.row.RowObject.html#__setattr__" class="summary-sig-name"><code>__setattr__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Special setattr to prevent changing of key values.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.enterprise.row.RowObject.html#assignKeyAttr" class="summary-sig-name"><code>assignKeyAttr</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>attrName</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Assign to a key attribute.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.enterprise.row.RowObject.html#createDefaultAttributes" class="summary-sig-name"><code>createDefaultAttributes</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Populate instance with default attributes.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.enterprise.row.RowObject.html#findAttribute" class="summary-sig-name"><code>findAttribute</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>attrName</span>)</span></code>
<br />
Find an attribute by caseless name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="getKeyTuple"></a><span class="summary-sig"><span class="summary-sig-name">getKeyTuple</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.enterprise.row.RowObject.html#setDirty" class="summary-sig-name"><code>setDirty</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>flag</span>)</span></code>
<br />
Use this to set the 'dirty' flag.</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.enterprise.row.RowObject.html#dirty"><code>dirty</code></a></b> = <span title="0">0 </span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.enterprise.row.RowObject.html#populated"><code>populated</code></a></b> = <span title="0">0 </span></td></tr>
</table><br />
<!-- =========== START OF METHOD DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Method Details</th></tr>
</table>
<a name="__setattr__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__setattr__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>,
<span class=sig-arg>value</span>)</span>
</h3>
Special setattr to prevent changing of key values.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="assignKeyAttr"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">assignKeyAttr</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>attrName</span>,
<span class=sig-arg>value</span>)</span>
</h3>
<p>Assign to a key attribute.</p>
This cannot be done through normal means to protect changing keys of
db objects.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="createDefaultAttributes"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">createDefaultAttributes</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Populate instance with default attributes.</p>
This is used when creating a new instance NOT from the database.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="findAttribute"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">findAttribute</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>attrName</span>)</span>
</h3>
Find an attribute by caseless name.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="setDirty"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">setDirty</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>flag</span>)</span>
</h3>
<p>Use this to set the 'dirty' flag.</p>
(note: this avoids infinite recursion in __setattr__, and prevents
the 'dirty' flag )
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="dirty"></a>
<h3>dirty</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="0"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
0 </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="populated"></a>
<h3>populated</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="0"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
0 </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<br />
<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
<tr valign="center">
<th class="navbar"> <a class="navbar" href="twisted.html">Home</a> </th>
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center">
<p class="nomargin">
<a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted 1.3.0rc1</a>
</p></th></tr></table>
</th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left"><font size="-2">Generated by Epydoc 2.0 on Sat May 15 20:08:25 2004</font></td>
<td align="right"><a href="http://epydoc.sourceforge.net"
><font size="-2">http://epydoc.sf.net</font></a></td>
</tr>
</table>
</body>
</html>