]> err.no Git - sope/blobdiff - sope-core/NGExtensions/NGRuleEngine.subproj/NGRuleAssignment.m
Drop apache 1 build-dependency
[sope] / sope-core / NGExtensions / NGRuleEngine.subproj / NGRuleAssignment.m
index 549d7d792004a565b8297f8d1878b5f9556d58c7..dde2554f309cfb0d2494bdbd957a4519cf95a278 100644 (file)
@@ -1,24 +1,23 @@
 /*
-  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 */