/*
- Copyright (C) 2000-2003 SKYRIX Software AG
+ Copyright (C) 2003-2004 SKYRIX Software AG
- This file is part of OGo
+ This file is part of SOPE.
- OGo is free software; you can redistribute it and/or modify it under
+ SOPE is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
- OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+ SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with OGo; see the file COPYING. If not, write to the
+ License along with SOPE; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
-// $Id$
#include "NGRuleAssignment.h"
#include "common.h"
return self->value;
}
+/* key/value archiving */
+
+- (id)initWithKeyValueUnarchiver:(EOKeyValueUnarchiver *)_unarchiver {
+ return [self initWithKeyPath:[_unarchiver decodeObjectForKey:@"keyPath"]
+ value:[_unarchiver decodeObjectForKey:@"value"]];
+}
+- (void)encodeWithKeyValueArchiver:(EOKeyValueArchiver *)_archiver {
+ [_archiver encodeObject:[self keyPath] forKey:@"keyPath"];
+ [_archiver encodeObject:[self value] forKey:@"value"];
+}
+
/* description */
- (NSString *)valueStringValue {
- return [self->value isKindOfClass:[NSNumber class]]
- ? [self->value stringValue]
- : [NSString stringWithFormat:@"\"%@\"", self->value];
+ NSMutableString *ms;
+
+ if ([self->value isKindOfClass:[NSNumber class]])
+ return [self->value stringValue];
+
+ ms = [NSMutableString stringWithCapacity:64];
+ [ms appendString:@"\""];
+ [ms appendString:[self->value stringValue]];
+ [ms appendString:@"\""];
+ return ms;
}
- (NSString *)stringValue {
- return [NSString stringWithFormat:@"%@ = %@",
- [self keyPath],
- [self valueStringValue]];
+ NSMutableString *ms;
+
+ ms = [NSMutableString stringWithCapacity:64];
+ [ms appendString:[[self keyPath] description]];
+ [ms appendString:@" = "];
+ [ms appendString:[self valueStringValue]];
+ return ms;
}
- (NSString *)description {
@end /* NGRuleAssignment */
+
@implementation NGRuleKeyAssignment
/* operations */