objective-c-sql-query-builder
ZIMOrmModel.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2011-2015 Ziminji
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at:
00007  * 
00008  *    http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #import <Foundation/Foundation.h>
00018 #import "ZIMOrmModelDelegate.h"
00019 
00020 // Supported options
00021 #define ZIMOrmOptionLimit                                               @"LIMIT"
00022 #define ZIMOrmOptionOffset                                              @"OFFSET"
00023 
00029 @interface ZIMOrmModel : NSObject <ZIMOrmModelDelegate> {
00030 
00031         @protected
00032                 id __unsafe_unretained _delegate;
00033                 NSString *_saved;
00034 
00035 }
00036 
00037 @property (nonatomic, unsafe_unretained) id delegate;
00038 
00046 - (instancetype) initWithDelegate: (id)delegate;
00053 - (instancetype) init;
00064 - (id) belongsTo: (Class)model foreignKey: (NSArray *)foreignKey; // the foreign key array is an ordered list of columns in "self"
00075 - (id) hasOne: (Class)model foreignKey: (NSArray *)foreignKey; // i.e. the foreign key array is an ordered list of columns in "model"
00086 - (NSArray *) hasMany: (Class)model foreignKey: (NSArray *)foreignKey; // i.e. the foreign key array is an ordered list of columns in "model"
00099 - (NSArray *) hasMany: (Class)model foreignKey: (NSArray *)foreignKey options: (NSDictionary *)options; // i.e. the foreign key array is an ordered list of columns in "model"
00105 - (void) delete;
00111 - (void) load;
00117 - (void) save;
00124 + (NSString *) dataSource;
00131 + (NSString *) table;
00138 + (NSArray *) primaryKey; // may be a composite primary key
00145 + (BOOL) isAutoIncremented;
00154 + (NSDictionary *) columns;
00161 + (BOOL) isSaveable;
00170 + (BOOL) isModel: (Class)model;
00171 
00172 @end
 All Classes Files Functions Variables Properties Defines