]> err.no Git - sope/blobdiff - sope-core/EOControl/EOFetchSpecification.m
Drop apache 1 build-dependency
[sope] / sope-core / EOControl / EOFetchSpecification.m
index b4e3fcc693410aa078098a584c3fbc320acf0df2..37fa0b410c3843266d4eea2c288559629139dcfc 100644 (file)
   return [fs autorelease];
 }
 
+/* key/value archiving */
+
+- (id)initWithKeyValueUnarchiver:(EOKeyValueUnarchiver *)_unarchiver {
+  if ((self = [super init]) != nil) {
+    self->entityName = [[_unarchiver decodeObjectForKey:@"entityName"] copy];
+    self->qualifier  = [[_unarchiver decodeObjectForKey:@"qualifier"]  retain];
+    self->hints      = [[_unarchiver decodeObjectForKey:@"hints"] copy];
+    self->sortOrderings = 
+      [[_unarchiver decodeObjectForKey:@"sortOrderings"] retain];
+    
+    self->fetchLimit = [_unarchiver decodeIntForKey:@"fetchLimit"];
+    
+    self->fsFlags.usesDistinct = 
+      [_unarchiver decodeBoolForKey:@"usesDistinct"] ? 1 : 0;
+    self->fsFlags.locksObjects = 
+      [_unarchiver decodeBoolForKey:@"locksObjects"] ? 1 : 0;
+    self->fsFlags.deep = 
+      [_unarchiver decodeBoolForKey:@"deep"] ? 1 : 0;
+  }
+  return self;
+}
+- (void)encodeWithKeyValueArchiver:(EOKeyValueArchiver *)_archiver {
+  [_archiver encodeObject:[self entityName]    forKey:@"entityName"];
+  [_archiver encodeObject:[self qualifier]     forKey:@"qualifier"];
+  [_archiver encodeObject:[self hints]         forKey:@"hints"];
+  [_archiver encodeObject:[self sortOrderings] forKey:@"sortOrderings"];
+
+  [_archiver encodeInt:[self fetchLimit] forKey:@"fetchLimit"];
+  
+  [_archiver encodeBool:self->fsFlags.usesDistinct forKey:@"usesDistinct"];
+  [_archiver encodeBool:self->fsFlags.locksObjects forKey:@"locksObjects"];
+  [_archiver encodeBool:self->fsFlags.deep         forKey:@"deep"];
+}
+
 /* description */
 
 - (NSString *)description {
   id tmp;
   
   ms = [NSMutableString stringWithCapacity:128];
-  [ms appendFormat:@"<%@[0x%08X]:", NSStringFromClass([self class]), self];
+  [ms appendFormat:@"<%@[0x%p]:", NSStringFromClass([self class]), self];
 
   if ((tmp = [self entityName]))
     [ms appendFormat:@" entity=%@", tmp];