blob: 10123a5d05f5a331ea9981f2dc6af9866f93ff24 [file] [log] [blame]
<?xml version="1.0" encoding="windows-1252"?>
<XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-08-22 11:22:21">
<XMI.header>
<XMI.documentation>
<XMI.exporter>Enterprise Architect</XMI.exporter>
<XMI.exporterVersion>2.5</XMI.exporterVersion>
</XMI.documentation>
</XMI.header>
<XMI.content>
<UML:Model name="EA Model" xmi.id="MX_EAID_70F3ECD1_606E_456e_9BB3_27EC19C9995C">
<UML:Namespace.ownedElement>
<UML:Class name="EARootClass" xmi.id="EAID_11111111_5487_4080_A7F4_41526CB0AA00" isRoot="true" isLeaf="false" isAbstract="false"/>
<UML:Package name="PersistentObject" xmi.id="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C" isRoot="false" isLeaf="false" isAbstract="false" visibility="public">
<UML:ModelElement.stereotype>
<UML:Stereotype xmi.idref="EAID_28C92E09_EA88_4db9_B470_39F1EAD3DD45"/>
</UML:ModelElement.stereotype>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Provides a functionality for dealing with database data in a unified way. The actual SQL calls are abstracted so the implementor only needs to worry about which data to retrieive."/>
<UML:TaggedValue tag="created" value="2005-08-11 00:00:00"/>
<UML:TaggedValue tag="modified" value="2005-08-11 00:00:00"/>
<UML:TaggedValue tag="iscontrolled" value="TRUE"/>
<UML:TaggedValue tag="xmlpath" value="E:\src\ezcomponents\packages\PersistentObject\trunk\design\persistentobject.xml"/>
<UML:TaggedValue tag="lastloaddate" value="2005-08-19 08:46:02"/>
<UML:TaggedValue tag="lastsavedate" value="2005-08-22 11:22:21"/>
<UML:TaggedValue tag="isprotected" value="FALSE"/>
<UML:TaggedValue tag="usedtd" value="FALSE"/>
<UML:TaggedValue tag="owner" value="Jan Borsodi"/>
<UML:TaggedValue tag="xmiver" value="Enterprise Architect XMI/UML 1.3"/>
<UML:TaggedValue tag="logxml" value="FALSE"/>
<UML:TaggedValue tag="codepath" value="C:\Documents and Settings\El Frederico\My Documents\svn\components\PersistentObject\persistent"/>
<UML:TaggedValue tag="tpos" value="0"/>
<UML:TaggedValue tag="packageFlags" value="CRC=0;"/>
<UML:TaggedValue tag="batchsave" value="0"/>
<UML:TaggedValue tag="batchload" value="0"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="stereotype" value="ezcomponent"/>
<UML:TaggedValue tag="ea_stype" value="Public"/>
<UML:TaggedValue tag="tpos" value="0"/>
</UML:ModelElement.taggedValue>
<UML:Namespace.ownedElement>
<UML:Class name="ezcPersistentRow" xmi.id="EAID_0AFF634F_9DF4_4b01_B553_782F291FC21D" visibility="public" namespace="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Functionality on the row level for eczPersistentObject. eczPersistentObject provides complete objects for all row level data. This class provides the same database functionality, but with the data stored in a serialized array. This is useful internally for eczPersistentObject but also for application developers wanting to handle large amounts of persistent objects with as little overhead as possible.
@see eczPersisentObject
@todo Write function descriptions. These should be snatched from eczPersistentObject once they are done!
@package PersistentObject
@copyright Copyright (C) 2005 eZ systems as. All rights reserved.
@license LGPL {@link http://www.gnu.org/copyleft/lesser.html}"/>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C"/>
<UML:TaggedValue tag="date_created" value="2005-08-11 10:54:35"/>
<UML:TaggedValue tag="date_modified" value="2005-08-11 10:54:35"/>
<UML:TaggedValue tag="genfile" value="C:\Documents and Settings\El Frederico\My Documents\svn\components\PersistentObject\persistent\row.php"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="PersistentObject"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="eventflags" value="LNK=87fa;OPN=e35d;"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
<UML:Classifier.feature>
<UML:Operation name="fetchRecord" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{5350C068-B776-48fc-B6E8-8D12EBDE252D}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-B776-48fc-B6E8-8D12EBDE252D}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="definition" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{6F2D2DBF-6E65-4579-9D62-D43493D4474A}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="conditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{37BA15C4-8F5E-42e8-A7A7-630334424B8E}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="grouping" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{47258607-AD76-4efd-A875-4DEA03D73042}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="fetchRecords" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{929758D2-BF9A-4364-9AAB-F89798BF2C09}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-BF9A-4364-9AAB-F89798BF2C09}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="definition" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{E4074D8E-CC07-423c-91C5-0A450F6A615A}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="conditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{B2EC4D96-20FA-4515-A7C5-E8AE44E1EDB2}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="sorts" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{2F652D99-CB5A-482e-A904-EE1B6CC33718}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="limit" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="3"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{58C28715-8978-4cec-8B96-23E42608D6A3}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="grouping" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="4"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{791E5B76-6F2B-4e57-A9E1-3C5EE1002D92}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="deleteRecords" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="2"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{ECB56C27-61CF-40f6-A9CC-50D076DFC714}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-61CF-40f6-A9CC-50D076DFC714}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="definition" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{4648354B-5217-4750-BA33-4D75E91798F6}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="conditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{994C2B2E-4DE3-4f6a-8F45-AE6794E81344}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="extraConditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{978A2F39-E026-44ba-8387-073E37671034}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="storeRecords" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="3"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{584EC294-CAA8-4bc6-A72A-E0E018D70912}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-CAA8-4bc6-A72A-E0E018D70912}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="definition" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{31973D28-337D-485c-91AB-42392E9C7509}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="records" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{F6DB3568-25EB-48a6-918E-C6758C0B1938}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="storeRecords" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="4"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{8510FE68-5D3F-46ac-A1D8-9D42EFE682F7}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-5D3F-46ac-A1D8-9D42EFE682F7}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="definition" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{1A2DF638-AA20-4b84-A485-9F33D50EBB9F}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="rows" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{22C217F4-25E2-4df3-B6A4-E184DEE0E409}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="swapRowsSql" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns an update SQL call to make rows $id1 and $id2 change places."/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="5"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{A08D6952-83FB-426f-9E62-CBD824E3CBA7}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-83FB-426f-9E62-CBD824E3CBA7}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="table" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{A5C8470A-CB92-4cd4-A306-DD88F71A5D19}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="keys" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{2234BED6-EB6D-4c4a-8770-5DEA2F88DFA8}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="order_id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid3"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{C325830A-5C8A-484a-B3FE-463F074981F7}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="rows" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="3"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{AD1124BD-98E1-4b71-9353-610F6486D03B}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id1" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid3"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="4"/>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{9151C28D-3125-4441-9AFA-CD1F6F271A93}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id2" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid3"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="5"/>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{63A09AF7-D0FA-4079-9574-FDCDFC358FA8}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="nextObjectOrder" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns a value which can be used for new items in table, for instance placement. Uses $def, $orderField $conditions to figure out the currently maximum order value and returns one that is larger.
@todo How does it use the above fields to figure out the max order?
@param array $def
@param string $orderField
@param array $conditions
@return int"/>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="6"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{8B690F35-F2BA-4632-B580-C30BE4387691}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid3"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-F2BA-4632-B580-C30BE4387691}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="def" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{14FDF3FF-6915-472e-A4BB-2C68C1BBE02E}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="orderField" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{693A3612-DF59-468c-9544-E81DFC3D2AED}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="conditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{0CC31808-37A2-4312-B3F9-6ADC5679C6FF}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="conditionTextByRowSql" visibility="protected" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns an SQL condition sentence from the conditions $conditions and row data $row. If $row is provided the data from it is preferred over the data provided by the conditions.
@todo Move out?
@return string"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="7"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{C5948D56-514F-49e7-A55A-7560F1C4AC11}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-514F-49e7-A55A-7560F1C4AC11}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="conditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{7A91E6B9-32AD-4090-AE5A-71167F4BD163}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="row" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{7C2F32CA-1F13-455a-958D-A232863B3629}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
<UML:Dependency client="EAID_E3405AB0_AA88_442d_B6B4_CE87D15ABD2C" supplier="EAID_0AFF634F_9DF4_4b01_B553_782F291FC21D" xmi.id="EAID_06006446_1C12_439e_9E57_FCB54800F53B" visibility="public">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="style" value="3"/>
<UML:TaggedValue tag="ea_type" value="Dependency"/>
<UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
<UML:TaggedValue tag="linemode" value="3"/>
<UML:TaggedValue tag="linecolor" value="-1"/>
<UML:TaggedValue tag="linewidth" value="0"/>
<UML:TaggedValue tag="seqno" value="0"/>
<UML:TaggedValue tag="headStyle" value="0"/>
<UML:TaggedValue tag="lineStyle" value="0"/>
<UML:TaggedValue tag="src_visibility" value="Public"/>
<UML:TaggedValue tag="src_aggregation" value="0"/>
<UML:TaggedValue tag="src_isOrdered" value="false"/>
<UML:TaggedValue tag="src_isNavigable" value="false"/>
<UML:TaggedValue tag="src_containment" value="Unspecified"/>
<UML:TaggedValue tag="dst_visibility" value="Public"/>
<UML:TaggedValue tag="dst_aggregation" value="0"/>
<UML:TaggedValue tag="dst_isOrdered" value="false"/>
<UML:TaggedValue tag="dst_isNavigable" value="true"/>
<UML:TaggedValue tag="dst_containment" value="Unspecified"/>
<UML:TaggedValue tag="virtualInheritance" value="0"/>
</UML:ModelElement.taggedValue>
</UML:Dependency>
<UML:Comment xmi.id="EAID_50124153_16A9_4feb_83DE_BBEA316D62F2" visibility="public" namespace="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Text"/>
<UML:TaggedValue tag="ea_ntype" value="18"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C"/>
<UML:TaggedValue tag="date_created" value="2005-08-11 10:55:07"/>
<UML:TaggedValue tag="date_modified" value="2005-08-11 10:55:07"/>
<UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="PersistentObject"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
</UML:Comment>
<UML:Class name="ezcPersistentObjectValidator" xmi.id="EAID_B19ACBC3_41CC_412c_8CF7_7C3FC261654D" visibility="public" namespace="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="A class for validating eczPersistentObject::definitions
@package PersistentObject
@copyright Copyright (C) 2005 eZ systems as. All rights reserved.
@license LGPL {@link http://www.gnu.org/copyleft/lesser.html}"/>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C"/>
<UML:TaggedValue tag="date_created" value="2005-08-11 10:56:14"/>
<UML:TaggedValue tag="date_modified" value="2005-08-11 10:56:18"/>
<UML:TaggedValue tag="genfile" value="C:\Documents and Settings\El Frederico\My Documents\svn\components\PersistentObject\persistent\object\validator.php"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="PersistentObject"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="eventflags" value="LNK=69e9;"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
<UML:Classifier.feature>
<UML:Operation name="validateDefinition" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns an array of strings each describing one problem with the definition. If no problems are found an empty array will be returned. In order to be valid it must comply to all the rules specified in ezsPersistentObject. Note that this function is meant for testing only and should not be run in a production environment.
@param array $def
@return array(string)"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{7495EAD2-C122-4c6b-B6EB-B04C83522B2D}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-C122-4c6b-B6EB-B04C83522B2D}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="def" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{A2F2E664-2B14-477f-AD68-14731BB59383}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
<UML:Class name="eczPersistentObject" xmi.id="EAID_E3405AB0_AA88_442d_B6B4_CE87D15ABD2C" visibility="public" namespace="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Database persistance for data objects. This class is used to store an arbitrary data structures to a fixed database table. For each data structure you need to store you need to create one table in the database and one class extending eZPersistentObject containing the same fields. eZPersistentObject then provides all the functionality needed to fetch, list, delete etc. This class uses SQL that is compatible with MySQL, PostgreSQL and Oracle.
&lt;code&gt; class MyClass extends eZPersistentObject { function MyClass( $row ) { $this-&gt;eZPersistentObject( $row ); } }
&lt;/code&gt;
@todo Explain exactly what we mean with a row (simply an array with the field values)
@todo Map of property names --&gt; Database Names
@todo is the definition of set and getters here necessary if you do this in the derived property classes?
@todo attribute and setAttribute is no longer necessary because the values can be fetched directly using the properties.
@todo Make it possible to have private attributes
@todo Mention the various limits of the databases. (e.g No CLOB in conditions)
@todo Also store the type of the field used in the database in the definition (then we can do checking) (option, checking off?)
@package PersistentObject
@copyright Copyright (C) 2005 eZ systems as. All rights reserved.
@license LGPL {@link http://www.gnu.org/copyleft/lesser.html}"/>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C"/>
<UML:TaggedValue tag="date_created" value="2005-08-11 10:54:35"/>
<UML:TaggedValue tag="date_modified" value="2005-08-22 11:01:54"/>
<UML:TaggedValue tag="genfile" value="C:\Documents and Settings\El Frederico\My Documents\svn\components\PersistentObject\persistent\object.php"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="PersistentObject"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="eventflags" value="LNK=87fa;ATT=a925;"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
<UML:Classifier.feature>
<UML:Attribute name="persistentDataDirty" changeable="none" visibility="protected" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid4"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="Whether the data is dirty, ie needs to be stored, or not."/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="derived" value="0"/>
<UML:TaggedValue tag="containment" value="Not Specified"/>
<UML:TaggedValue tag="length" value="0"/>
<UML:TaggedValue tag="ordered" value="0"/>
<UML:TaggedValue tag="precision" value="0"/>
<UML:TaggedValue tag="scale" value="0"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="duplicates" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{D79F4F56-93B1-4b43-AA7B-392B80A862A6}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Operation name="__construct" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Initializes the object with the row \a $row. It will try to set each field taken from the database row. Calls fill to do the job."/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{BA94FCCC-FD3A-4e63-8025-CF35C27F972F}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-FD3A-4e63-8025-CF35C27F972F}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid3"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{05F56186-C795-4b05-A252-D99C5B89EA53}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="__clone" visibility="private" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{C5A46E26-5A03-4d59-B986-A7CE8F3230BA}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-5A03-4d59-B986-A7CE8F3230BA}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="definition" visibility="protected" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns the definition of this persistent object as an associative array. The purpose of the definition is to clearly define: - The database table to work on - The default way to sort objects in this table - The classname of the persistent object implementation that should be used to instantiate objects with this definition. - The unique keys used to identify the objects in the database - The mapping between fields in the database The definition array is an associative array consists of these keys: - name - the name of the database table - keys - an array containing the fieldnames uniquely identifying one row in the table - increment_key - the field which is incremented on table inserts. When you store a new object this field is set automatically. - class_name - the classname which is used for instantiating new objecs when fetching from the database. - sort - an associative array which defines the default sorting of lists, the key is the table field while the value is the sorting method which is either \c asc or \c desc. - fields - an associative array of fields which defines which database field (the key) is to fetched and how they map to object member variables (the value). In order to support all the databases this field must fulfill the following requirements: an associative array of fields that define which database field (the key) that a value is mapped from. The value of this entry is an array explained below. Each field itself is specified through an associative array. The following fields are accepted: - property - the name of the property that stores the value - phptype - the type of the value in PHP. - dbtype - the type of the value in the database. - default - the default value for this field. Note: this is automatically set to 'null' for fields marked as increment_key. - visibility - the visibility of the field. Can be 'public' (default) and 'private'. - required - sets if the field is required or not. You will not be able to store objects where required fields have not been set. Example:
&lt;code&gt;
&lt;/code&gt;
@return array The definition for the object. This function is abstract and must be implemented in derivatives."/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="2"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{58987515-DB99-40ed-9D00-53A2C9FEE828}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-DB99-40ed-9D00-53A2C9FEE828}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="constructFromRecord" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns a new persistent object based the $row data.
@return object"/>
<UML:TaggedValue tag="type" value="ezcPersistentObject"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="3"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{8EA910D1-4DBB-46b4-8D4E-A9F62F55B308}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid5"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="ezcPersistentObject"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-4DBB-46b4-8D4E-A9F62F55B308}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="record" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{218417A4-C8B7-422c-9371-45C8C0586846}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="constructFromRecords" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns PHP objects out of the database rows \a $rows.
@return array(object)"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="4"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{7BA3B452-1DA3-4cbb-8F54-06E09E748A6F}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-1DA3-4cbb-8F54-06E09E748A6F}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="records" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{EBFF262D-F365-453d-BC10-1AF289AA825A}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="fetch" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns the object identified by the definition and the conditions. If the conditions match several objects the first is returned.
@see fetchObjectList() for a full description of the input parameters.
@todo throw exception instead if several objects are found?
@todo Make version of this that is not static? This makes more sense, but might be impractical for automated code.
@param array $conditions Conditions which determines which rows are fetched
@param array $grouping Which elements to group by when retrieving the right object.
@param $field_filter Defines which fields to extract. If empty all fields are fetched.
@param array $custom_fields An array of extra fields to fetch, each field may be a SQL operation
@return mixed Returns either an array or an object depending on $asObject"/>
<UML:TaggedValue tag="type" value="ezcPersistentObject"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="5"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{45842AFE-0748-4628-A3B4-8819C05682B6}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid5"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="ezcPersistentObject"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-0748-4628-A3B4-8819C05682B6}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="definition" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{F17543DC-3FAC-4d84-BB91-80FB1A500028}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="conditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{3CD8A9B0-42E6-4329-B04D-EEDAB9E4694F}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="grouping" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{DDE111C2-784A-4f9b-8E5A-30DBC18A91AD}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="fetchObjects" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns a list of objects fetched from the database. Creates an SQL query out of the different parameters and returns an array with the result. A full example:
&lt;code&gt; $filter = array( 'id', 'name' ); $conds = array( 'type' =&gt; 5, 'size' =&gt; array( false, array( 200, 500 ) ) ); $sorts = array( 'name' =&gt; 'asc' ); $limit = array( 'offset' =&gt; 50, 'length' =&gt; 10 ); eZPersistentObject::fetchObjectList( $def, $filter, $conds, $sorts, $limit, true, false, null )
&lt;/code&gt; Counting number of elements.
&lt;code&gt; $custom = array( array( 'operation' =&gt; 'count( id )', 'name' =&gt; 'count' ) ); Here $field_filter is set to an empty array, that way only count is used in fields $rows = eZPersistentObject::fetchObjectList( $def, array(), null, null, null, false, false, $custom ); return $rows[0]['count'];
&lt;/code&gt; Counting elements per type using grouping
&lt;code&gt; $custom = array( array( 'operation' =&gt; 'count( id )', 'name' =&gt; 'count' ) ); $group = array( 'type' ); $rows = eZPersistentObject::fetchObjectList( $def, array(), null, null, null, false, $group, $custom ); return $rows[0]['count'];
&lt;/code&gt;
@param array $def A definition array of all fields, table name and sorting
@param array $field_filter If defined determines the fields which are extracted (array of field names), if not all fields are fetched
@param array $conds \c null for no special condition or an associative array of fields to filter on. The syntax is \c FIELD =&gt; \c CONDITION, \c CONDITION can be one of: - Scalar value - Creates a condition where \c FIELD must match the value, e.g \code array( 'id' =&gt; 5 ) \endcode generates SQL \code id = 5 \endcode - Array with two scalar values - Element \c 0 is the match operator and element \c 1 is the scalar value \code array( 'priority' =&gt; array( '&gt;', 5 ) ) \endcode generates SQL \code priority &gt; 5 \endcode - Array with range - Element \c 1 is an array with start and stop of range in array \code array( 'type' =&gt; array( false, array( 1, 5 ) ) ) \endcode generates SQL \code type BETWEEN 1 AND 5 \endcode - Array with multiple elements - Element \c 0 is an array with scalar values \code array( 'id' =&gt; array( array( 1, 5, 7 ) ) ) \endcode generates SQL \code id IN ( 1, 5, 7 ) \endcode
@param array $sorts An associative array of sorting conditions, if set to \c false ignores settings in \a $def, if set to \c null uses settingss in \a $def. Syntax is \c FIELD =&gt; \c DIRECTION. \c DIRECTION must either be string \c 'asc' for ascending or \c 'desc' for descending.
@param array $limit An associative array with limitiations, can contain - offset - Numerical value defining the start offset for the fetch - length - Numerical value defining the max number of items to return
@param array $grouping An array of fields to group by or \c null to use grouping in defintion \a $def.
@param array $custom_fields Array of \c FIELD elements to add to SQL, can be used to perform custom fetches, e.g counts. FIELD is an associative array containing: - operation - A text field which is included in the field list - name - If present it adds 'AS name' to the operation."/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="6"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{41751FF2-5AE2-4b76-A3BE-1DEBF9675EB1}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-5AE2-4b76-A3BE-1DEBF9675EB1}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="definition" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{D4283E80-2B03-4160-A1C8-D89525192B9B}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="conditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{23885077-32C0-478b-A5FE-F19FC1577961}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="sorts" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{AB9F33DF-9CD8-4d3d-A09F-28C7A4A69689}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="limit" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="3"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{767C8461-04DD-4861-B90D-04854D354E23}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="grouping" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="4"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{CEF7B331-BC60-45e7-B33F-5871E838D3A7}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="fetchObjectsCount" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="7"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{44E4F917-6670-43bc-9D63-25FD23980A07}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid3"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-6670-43bc-9D63-25FD23980A07}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="definition" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{7C3F27E6-35B9-4ca2-BDDC-0657D7A6A57E}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="conditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{AB4D1381-4799-4a3f-B518-7346C488BE08}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="delete" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Deletes this object from the database By default it will use all the fields and their values as the condition for the delete. This can be overrided through the $conditions variable. It uses removeObject to do the real job and passes the object defintion, conditions and extra conditions \a $extraConditions to this function. When you have called delete on an object the increment_key's are reset. Any subsequent calls that store the object will create a new object. \note Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db-&gt;begin and db-&gt;commit.
@param array $conditions An associative array of keys and values that will be used as conditions for the delete.
@param array @extraConditions Extra conditions that replace or append the existing conditions.
@return void"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="8"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{F2B1CCCF-962E-471b-B498-8B0B7085CAEE}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-962E-471b-B498-8B0B7085CAEE}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="deleteObjects" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Deletes an object from the table defined in \a $def with conditions \a $conditions and extra conditions \a $extraConditions. The extra conditions will either be appended to the existing conditions or overwrite existing fields. Uses conditionText() to create the condition SQL. \note Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db-&gt;begin and db-&gt;commit.
@param array $def The definition of the object type to delete.
@param array $conditions An associative array of keys and values that will be used as conditions for the delete.
@param array @extraConditions Extra conditions that replace or append the existing conditions.
@return void"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="9"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{12B4C05C-77D9-4afa-8FBF-95D1E78F90A7}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-77D9-4afa-8FBF-95D1E78F90A7}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="conditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{31EE2BD5-079F-45ad-81F0-404305050E99}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="extraConditions" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{8101EB41-71B1-4a3a-AC5C-29807B52D3E3}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="store" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Stores this object to the database if the data is considered dirty. This method uses storeObject() to do the actual job and passes \a $fieldFilter to it. \note Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db-&gt;begin and db-&gt;commit.
@param array fieldFilters If specified only certain fields will be stored.
@return void"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="10"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{4BF07BB1-7E44-440a-A566-D4601014F0CF}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-7E44-440a-A566-D4601014F0CF}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="hasProperty" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns true if the attribute $attr is part of the definition fields or function attributes.
@param string @attr
@return boolean"/>
<UML:TaggedValue tag="type" value="boolean"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="11"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{61F00689-D17C-4e2e-B82C-392C16251C86}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid6"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="boolean"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-D17C-4e2e-B82C-392C16251C86}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attr" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{B3CA3B33-1111-4f9d-A9EC-EA17D13798BA}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="hasDirtyData" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Return if the object data has been changed since last synchronization with the database.
@return boolean"/>
<UML:TaggedValue tag="type" value="boolean"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="12"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{EB3A5D10-D4C7-45ac-B658-03C2DC033B68}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid6"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="boolean"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-D4C7-45ac-B658-03C2DC033B68}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="fillFromRow" visibility="private" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Fills this object with the data from the $row. Matching of the data to the field is done through the object definition.
@param array $row
@return void"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="13"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{7B29AF6C-FDB8-42fa-BC7A-E99FD6C78B65}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="void"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-FDB8-42fa-BC7A-E99FD6C78B65}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="row" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{C81E5AB3-EFF8-494e-AC9E-A360B71BB750}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
</UML:Namespace.ownedElement>
</UML:Package>
<UML:Stereotype xmi.id="EAID_28C92E09_EA88_4db9_B470_39F1EAD3DD45" name="ezcomponent" isRoot="false" isLeaf="false" isAbstract="false">
<UML:Stereotype.baseClass>Package</UML:Stereotype.baseClass>
</UML:Stereotype>
<UML:DataType xmi.id="eaxmiid2" name="string" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid5" name="ezcPersistentObject" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid0" name="array" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid1" name="void" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid6" name="boolean" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid3" name="int" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid4" name="var" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
</UML:Namespace.ownedElement>
</UML:Model>
<UML:Diagram name="PersistentObject" xmi.id="EAID_1820CE73_69A2_4bf6_B00D_B23EB6749FAF" diagramType="ClassDiagram" owner="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C" toolName="Enterprise Architect 2.5">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="version" value="0.2"/>
<UML:TaggedValue tag="author" value="Frederik Holljen"/>
<UML:TaggedValue tag="created_date" value="2005-08-11 10:54:34"/>
<UML:TaggedValue tag="modified_date" value="2005-08-22 11:02:09"/>
<UML:TaggedValue tag="package" value="EAPK_70F3ECD1_606E_456e_9BB3_27EC19C9995C"/>
<UML:TaggedValue tag="type" value="Logical"/>
<UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
<UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=1118;DocSize.cy=783;ShowDetails=0;Orientation=L;Zoom=100;ShowTags=0;OpParams=3;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
<UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
</UML:ModelElement.taggedValue>
<UML:Diagram.element>
<UML:DiagramElement geometry="Left=390;Top=110;Right=583;Bottom=180;" subject="EAID_B19ACBC3_41CC_412c_8CF7_7C3FC261654D" seqno="1" style="DUID=56A0B9A1;LBL=;"/>
<UML:DiagramElement geometry="Left=34;Top=12;Right=199;Bottom=87;" subject="EAID_50124153_16A9_4feb_83DE_BBEA316D62F2" seqno="2" style="DUID=8604622A;"/>
<UML:DiagramElement geometry="Left=20;Top=110;Right=345;Bottom=254;" subject="EAID_0AFF634F_9DF4_4b01_B553_782F291FC21D" seqno="3" style="DUID=E45D4436;LBL=;"/>
<UML:DiagramElement geometry="Left=21;Top=294;Right=344;Bottom=551;" subject="EAID_E3405AB0_AA88_442d_B6B4_CE87D15ABD2C" seqno="4" style="DUID=637949BA;LBL=;"/>
<UML:DiagramElement geometry="EDGE=1;SX=0;SY=0;EX=0;EY=0;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_06006446_1C12_439e_9E57_FCB54800F53B" style="Mode=3;EOID=E45D4436;SOID=637949BA;Hidden=0;"/>
</UML:Diagram.element>
</UML:Diagram>
</XMI.content>
<XMI.difference/>
<XMI.extensions xmi.extender="Enterprise Architect 2.5"/>
</XMI>