|
|
1.1 ! root 1: {\rtf0\ansi{\fonttbl\f2\fnil Times-Roman;\f1\fmodern Ohlfs;} ! 2: \paperw10320 ! 3: \paperh11260 ! 4: \margl120 ! 5: \margr120 ! 6: {\colortbl;\red0\green0\blue0;} ! 7: \pard\tx740\tx6500\f2\b\i0\ulnone\fs32\fc0\cf0 Enterprise Objects Examples Quick Reference\ ! 8: ! 9: \b0\i\fs24 For EOF Release 1.1\ ! 10: ! 11: \b\i0\fs32 \ ! 12: Overview ! 13: \fs36 \ ! 14: ! 15: \pard\tx380\tx6500\b0\fs24\li440\fc0\cf0 This Quick Reference gives a brief description of each example in /NextDeveloper/Examples/EnterpriseObjects to facilitate your searching for a particular topic as well as the level of difficulty for those of you who are new to EOF. The following examples are available:\ ! 16: ! 17: \pard\tx6500\fs32\fi-500\li880\fc0\cf0 \ ! 18: ! 19: \i\fs24\fi0\up10 Archiving\ ! 20: Distributed Enterprise Objects *\ ! 21: EOController \ ! 22: FlatFileDataSource\ ! 23: ManyToMany Relationship\ ! 24: Mastering Details *\ ! 25: QueryByExample and Sorting �\ ! 26: Radio Matrix Association\ ! 27: SQL Execution\ ! 28: Unique Key Generation\ ! 29: Validation *\ ! 30: \ ! 31: Misc\ ! 32: SHL Examples (All these examples require Sybase and the Pubs demo database)\ ! 33: DB Scripts to install th ePEOPLE demo databases\ ! 34: \ ! 35: * New in EOF 1.1\ ! 36: � Significantly enhanced for 1.1\ ! 37: \ ! 38: ! 39: \pard\tx60\tx6500\b\i0\fs32\fi-20\li40\fc0\cf0 \ ! 40: Archiving In A Mixed World (Simple)\ ! 41: ! 42: \fs36 \ ! 43: ! 44: \pard\tx720\tx6500\fs28\fi-20\li760\fc0\cf0 Archiving a subclass of NSObject ! 45: \b0\fs32 \ ! 46: ! 47: \pard\tx1120\tx6500\fs24\fi-20\li1120\fc0\cf0 ArchivingNSObject (Owner.m) ! 48: \fs36 \ ! 49: ! 50: \pard\tx720\tx6500\b\fs28\fi-20\li760\fc0\cf0 Archving a subclass of Object ! 51: \b0\fs36 \ ! 52: ! 53: \pard\tx1120\tx6500\fs24\fi-20\li1120\fc0\cf0 ArchvingObject (Owner.m) ! 54: \fs36 \ ! 55: ! 56: \pard\tx720\tx6500\fs28\fi-20\li760\fc0\cf0 \ ! 57: ! 58: \pard\tx60\tx6500\b\fi-20\li40\fc0\cf0 Distributed Enterprise Objects (Advanced)\ ! 59: ! 60: \fs36 \ ! 61: ! 62: \pard\tx720\tx6500\fs28\fi-20\li760\fc0\cf0 How to use the NSNotification protocol to propagate basic DB Operations like fetch, update, insert between a server and remote clients.\ ! 63: The example shows how to send enterprise objects over the wire by following certain conventions. This example supersedes the Distributed Objects example in EOF 1.0 Release. ! 64: \fs32 \ ! 65: ! 66: \pard\tx1120\tx6500\fs28\fi-20\li1120\fc0\cf0 ! 67: \b0\fs24 \ ! 68: ! 69: \pard\tx700\tx6500\fs36\fi20\li760\fc0\cf0 ! 70: \pard\tx920\tx6500\fi-180\li560\fc0\cf0 \ ! 71: ! 72: \pard\tx20\tx6500\b\fs32\fi-20\li20\fc0\cf0 EOController (Simple)\ ! 73: ! 74: \b0 \ ! 75: ! 76: \pard\tx720\tx6500\b\fs28\fi-20\li760\fc0\cf0 How to build a master/detail controller and master/detail tableview in IB\ ! 77: ! 78: \pard\tx1120\tx6500\fi-20\li1120\fc0\cf0 ! 79: \b0\fs24 See PeopleDemo.nib\ ! 80: ! 81: \pard\tx720\tx6500\b\fs28\fi-20\li760\fc0\cf0 Simple validation and sorting\ ! 82: ! 83: \pard\tx1120\tx6500\fi-20\li1120\fc0\cf0 ! 84: \b0\fs24 See MainController.[hm] ! 85: \pard\tx700\tx6500\fs36\fi20\li760\fc0\cf0 ! 86: \pard\tx920\tx6500\fi-180\li560\fc0\cf0 \ ! 87: ! 88: \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fs32\fc0\cf0 ! 89: \fs36 \ ! 90: ! 91: \b\fs32 FlatFileDataSource (Intermediate)\ ! 92: ! 93: \b0 \ ! 94: ! 95: \pard\tx720\tx6500\b\fs28\fi-20\li760\fc0\cf0 How to build a custom data source that reads a table of data from a flat file to generate EO generic records\ ! 96: ! 97: \pard\tx1120\tx6500\fi-20\li1120\fc0\cf0 ! 98: \b0\fs24 See TableDataSource.[hm]\ ! 99: \ ! 100: \ ! 101: ! 102: \pard\tx20\tx6500\b\fs32\fi-20\li20\fc0\cf0 ManyToMany (Intermediate)\ ! 103: ! 104: \pard\tx1120\tx6500\b0\fi-20\li1120\fc0\cf0 \ ! 105: ! 106: \b\fs28 How to perform Insert/Delete on the master and Add/Delete on the detail in a many-to-many relationship\ ! 107: ! 108: \b0\fs24 See Projects.[hm]\ ! 109: \ ! 110: ! 111: \pard\tx20\tx6500\b\fs32\fi-20\li20\fc0\cf0 MasteringDetails (Advanced)\ ! 112: ! 113: \pard\tx1120\tx6500\b0\fi-20\li1120\fc0\cf0 \ ! 114: ! 115: \b\fs28 A generic approach to handle insertion and deletion in detail controllers without writing custom code to assign the keys used to join the records in the database.\ ! 116: ! 117: \pard\tx20\tx6500\fs32\fi-20\li20\fc0\cf0 \ ! 118: QueryByExample (Intermediate)\ ! 119: ! 120: \pard\tx1120\tx6500\b0\fi-20\li1120\fc0\cf0 \ ! 121: ! 122: \b\fs28 How to connect to an EOController to construct qualifiers built from the UI and execute them\ ! 123: ! 124: \b0\fs24 See QBE.[hm]\ ! 125: ! 126: \b\fs28 How to perform either descending or ascending ordering on any entity and its associated attributes tied to any tableview\ ! 127: ! 128: \b0\fs24 See SortOrderSetter.[hm]\ ! 129: \ ! 130: ! 131: \pard\tx20\tx6500\b\fs32\fi-20\li20\fc0\cf0 RadioMatrixAssociation (Simple)\ ! 132: ! 133: \pard\tx1120\tx6500\b0\fi-20\li1120\fc0\cf0 \ ! 134: ! 135: \b\fs28 How to write a custom association\ ! 136: ! 137: \b0\fs24 See RadioAssociation.[hm]\ ! 138: ! 139: \b\fs28 ! 140: \b0\fs24 \ ! 141: \ ! 142: ! 143: \pard\tx20\tx6500\b\fs32\fi-20\li20\fc0\cf0 SQLExecutor (Intermediate)\ ! 144: ! 145: \pard\tx1120\tx6500\b0\fi-20\li1120\fc0\cf0 \ ! 146: ! 147: \b\fs28 How to evaluate an arbitrary SQL statement for Sybase or Oracle. Also executes stored procedures (Result sets can only be processed for Sybase adaptor).\ ! 148: ! 149: \b0\fs24 See Evaluator.[hm] and SybaseDelegate.[hm]\ ! 150: \ ! 151: \ ! 152: ! 153: \pard\tx20\tx6500\b\fs32\fi-20\li20\fc0\cf0 UniqueKey (Intermediate)\ ! 154: ! 155: \pard\tx1120\tx6500\b0\fi-20\li1120\fc0\cf0 \ ! 156: ! 157: \b\fs28 How to generate unique keys using custom code and a custom table .\ ! 158: ! 159: \b0\fs24 See UniqueKey.[hm] and UniqueKey.eomodel. \ ! 160: UniqueKey uses a separate table to hold the external entity name and current max reserved integer key. The UniqueKey objects share a database channel that is sure to be free to allow immediate reservation of a block of keys.\ ! 161: \ ! 162: ! 163: \pard\tx20\tx6500\b\fs32\fi-20\li20\fc0\cf0 Validation (Intermediate)\ ! 164: ! 165: \pard\tx1120\tx6500\b0\fi-20\li1120\fc0\cf0 \ ! 166: ! 167: \b\fs28 A generic scheme to allow validation logic to be specified in EOs.\ ! 168: ! 169: \b0\fs24 See KeyValueValidation.[hm] and ValidatingDelegate.[hm] in the Validation subproject\ ! 170: \ ! 171: \ ! 172: ! 173: \pard\tx20\tx6500\b\fs32\fi-20\li20\fc0\cf0 SystemHouse (SHL) Examples\ ! 174: ! 175: \pard\tx1120\tx6500\b0\fi-20\li1120\fc0\cf0 \ ! 176: ! 177: \b\fs28 Access Layer (Simple)\ ! 178: How to etasblish connection and fetch from the database using either the database level API or the adaptor level API\ ! 179: ! 180: \b0\fs24 See DatabaseLevel.[hm] and AccessLevel.[hm]\ ! 181: \ ! 182: ! 183: \b\fs28 Buffering (Simple)\ ! 184: How the different buffering schemes of EOController work\ ! 185: \ ! 186: Data Source (Simple)\ ! 187: How to build a custom data source whose records are stored in memory\ ! 188: ! 189: \b0\fs24 See DataSource.[hm]\ ! 190: \ ! 191: ! 192: \b\fs28\fc1\cf1 Delegation ( ! 193: \fc0\cf0 Simple)\ ! 194: Tracing the various delegation methods from EOController, EODatabase, and EOAdaptor\ ! 195: ! 196: \b0\fs24 See EOFDelegateControllerCategory.[hm], EOFDelegateDatabaseCategory.[hm], and EOFDelegateAdaptorCategory.[hm]\ ! 197: \ ! 198: ! 199: \b\fs28 Enterprise Object(Simple)\ ! 200: How to build custom enterprise objects\ ! 201: \ ! 202: KeyValueCoding (Simple)\ ! 203: Illustrate the KeyValueCoding protocol\ ! 204: \ ! 205: Querying (Intermediate)\ ! 206: How to build a query and display its results dynamically in a tableview\ ! 207: ! 208: \b0\fs24 See QueryController.[hm] ! 209: \b\fs28 \ ! 210: \ ! 211: Sorting (Intermediate)\ ! 212: How to apply ordering based on a list of attributes from an entity or columns in the tableview\ ! 213: ! 214: \b0\fs24 See SortController.[hm]\ ! 215: \ ! 216: \ ! 217: ! 218: \pard\tx6500\fc0\cf0 ! 219: \i Last updated: February 1995\ ! 220: Mai Nguyen ! 221: \b\i0\fs32 \ ! 222: ! 223: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.