59 #ifdef __IPHONE_OS_VERSION_MIN_REQUIRED
67 #define OOValueDictionary OODictionary<NSValue *>
68 #define cOOValueDictionary const OOValueDictionary &
70 #pragma mark OORecord abstract superclass for records
83 + (id)insertWithParent:(
id)parent OO_AUTORETURNS;
97 + (
OOArray<id>)selectRecordsRelatedTo:(
id)record;
105 - (void)bindToView:(
OOView *)view delegate:(
id)delegate;
106 - (void)updateFromView:(
OOView *)view;
110 #pragma mark OOMetaData instances represent a table in the database and it's record class
127 + (
OOMetaData *)metaDataForClass:(Class)recordClass OO_RETURNS;
128 - initClass:(Class)aClass;
138 + (void)bindRecord:(
id)record toView:(
OOView *)view delegate:(
id)delegate;
139 + (void)updateRecord:(
id)value fromView:(
OOView *)view;
143 #pragma mark OOTableCustomization method to alter relatoinship betweeh classes and database objects
165 #pragma mark OODatabase is the low level interface to a particular database
195 + (
OOArray<id>)select:(
cOOString)select intoClass:(Class)recordClass joinFrom:(
id)parent;
199 + (int)insertArray:(const
OOArray<
id> &)objects;
200 + (int)deleteArray:(const
OOArray<
id> &)objects;
202 + (int)insert:(
id)object;
203 + (int)delete:(
id)object;
204 + (int)update:(
id)object;
206 + (int)indate:(
id)object;
207 + (int)upsert:(
id)object;
211 + (int)commitTransaction;
215 - (
OOStringArray)registerSubclassesOf:(Class)recordSuperClass;
219 - (
OOMetaData *)tableMetaDataForClass:(Class)recordClass OO_RETURNS;
223 - (id)copyJoinKeysFrom:(
id)parent to:(
id)newChild;
225 - (
OOArray<id>)select:(
cOOString)select intoClass:(Class)recordClass joinFrom:(
id)parent;
229 - (
long long)rowIDForRecord:(
id)record;
230 - (
long long)lastInsertRowID;
233 - (int)insertArray:(const
OOArray<
id> &)objects;
234 - (int)deleteArray:(const
OOArray<
id> &)objects;
236 - (int)insert:(
id)object;
237 - (int)delete:(
id)object;
238 - (int)update:(
id)object;
240 - (int)indate:(
id)object;
241 - (int)upsert:(
id)object;
244 - (int)commitTransaction;
249 #pragma mark OOTable records represent database object
269 #pragma mark C++ interface to OODB
271 template <
typename ETYPE>
295 return autorelease ? nil : record;
299 return autowhatever( record );
303 return autowhatever( record );
310 return [recordClass select];
317 template <
typename ETYPE>