Annotation of Examples/EnterpriseObjects/Archiving/ArchivingObject/Author.m, revision 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.