Annotation of Examples/EnterpriseObjects/Archiving/ArchivingObject/Author.m, revision 1.1.1.1

1.1       root        1: /* Author.m
                      2:  *
                      3:  * You may freely copy, distribute, and reuse the code in this example.
                      4:  * NeXT disclaims any warranty of any kind, expressed or  implied, as to its
                      5:  * fitness for any particular use.
                      6:  *
                      7:  * This simple Enterprise Object only takes care of the archiving
                      8:  * functions. Note that you can add the accessor methods, and other
                      9:  * specific functionality as well.  
                     10:  
                     11:  *
                     12:  * Written by: Dan Willhite, NeXT Engineering
                     13:  */
                     14: 
                     15: #import "Author.h"
                     16: 
                     17: @implementation Author
                     18: 
                     19: - init
                     20: {
                     21:     [super init];
                     22:     return self;
                     23: }
                     24: 
                     25: - free
                     26: {   
                     27:     [authorID autorelease];
                     28:     [firstname autorelease];
                     29:     [lastname autorelease];
                     30:     [address autorelease];
                     31:     [city autorelease];
                     32:     [state autorelease];
                     33:     [zip autorelease];
                     34:     [phone autorelease];
                     35:     
                     36:     return [super free];
                     37: }
                     38: 
                     39: 
                     40: - (NSString *)id { return [NSString stringWithFormat:@"%X", self]; }
                     41: 
                     42: - write:(NXTypedStream *)stream;
                     43: {
                     44:     [super write:stream];
                     45:     
                     46:     NXWriteNSObject(stream, authorID);
                     47:     NXWriteNSObject(stream, firstname);
                     48:     NXWriteNSObject(stream, lastname);
                     49:     NXWriteNSObject(stream, address);
                     50:     NXWriteNSObject(stream, city);
                     51:     NXWriteNSObject(stream, state);
                     52:     NXWriteNSObject(stream, zip);
                     53:     NXWriteNSObject(stream, phone);
                     54:     NXWriteTypes(stream, "i", &contract);
                     55:     return self;
                     56: }
                     57: 
                     58: - read:(NXTypedStream *)stream;
                     59: {
                     60:     [super read:stream];
                     61:     
                     62:     authorID = [(NSString *)NXReadNSObject(stream) retain];
                     63:     firstname = [(NSString *)NXReadNSObject(stream) retain];
                     64:     lastname = [(NSString *)NXReadNSObject(stream) retain];
                     65:     address = [(NSString *)NXReadNSObject(stream) retain];
                     66:     city = [(NSString *)NXReadNSObject(stream) retain];
                     67:     state = [(NSString *)NXReadNSObject(stream) retain];
                     68:     zip = [(NSString *)NXReadNSObject(stream) retain];
                     69:     phone = [(NSString *)NXReadNSObject(stream) retain];
                     70:     NXReadTypes(stream, "i", &contract);
                     71:     return self;
                     72: }
                     73: 
                     74: - (NSString *)description
                     75: {
                     76:     NSMutableString *string;
                     77:     
                     78:     string = [NSMutableString stringWithFormat:@"{\n"];
                     79:     [string appendFormat:@"\tauthorID = %@\n", authorID];
                     80:     [string appendFormat:@"\tfirstname = %@\n", firstname];
                     81:     [string appendFormat:@"\tlastname = %@\n", lastname];
                     82:     [string appendFormat:@"\taddress = %@\n", address];
                     83:     [string appendFormat:@"\tcity = %@\n", city];
                     84:     [string appendFormat:@"\tstate = %@\n", state];
                     85:     [string appendFormat:@"\tzip = %@\n", zip];
                     86:     [string appendFormat:@"\tphone = %@\n", phone];
                     87:     [string appendFormat:@"\tcontract = %d\n", contract];
                     88:     [string appendFormat:@"}\n", address];
                     89: 
                     90:     return string;
                     91: }
                     92: 
                     93: 
                     94: 
                     95: @end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.