/***************************************************************** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. ****************************************************************/ #import "CAYObjRelationship.h" @implementation CAYObjRelationship -(id)initWithCoder:(NSCoder*)coder { [super init]; // TODO: correct with clientToMany instead of toMany? toMany = [coder decodeBoolForKey:@"clientToMany"]; [self setName:[coder decodeObjectForKey:@"name"]]; [self setTargetEntityName:[coder decodeObjectForKey:@"targetEntityName"]]; [self setReverseRelationshipName:[coder decodeObjectForKey:@"reverseRelationshipName"]]; return self; } -(void)encodeWithCoder:(NSCoder*)coder { // TODO: correct with clientToMany [coder encodeBool:toMany forKey:@"clientToMany"]; [coder encodeObject:name forKey:@"name"]; [coder encodeObject:targetEntityName forKey:@"targetEntityName"]; [coder encodeObject:reverseRelationshipName forKey:@"reverseRelationshipName"]; } -(void)setName:(NSString *)n { [n retain]; [name release]; name = n; } -(NSString *)name { return name; } -(void)setReverseRelationshipName:(NSString *)n { [n retain]; [reverseRelationshipName release]; reverseRelationshipName = n; } -(NSString *)reverseRelationshipName { return reverseRelationshipName; } -(void)setTargetEntityName:(NSString *)n { [n retain]; [targetEntityName release]; targetEntityName = n; } -(NSString *)targetEntityName { return targetEntityName; } -(BOOL)isToMany { return toMany; } -(NSString *)description { NSString *result; result = [[NSString alloc] initWithFormat:@"%@ {toMany = %i; name = %@; targetEntityName = %@; reverseRelationshipName = %@}", [self class], [self isToMany], [self name], [self targetEntityName], [self reverseRelationshipName]]; [result autorelease]; return result; } -(void)dealloc { [self setName:nil]; [self setTargetEntityName:nil]; [self setReverseRelationshipName:nil]; [super dealloc]; } @end