]> err.no Git - sope/blob - sope-core/NGExtensions/EOExt.subproj/EOGrouping.m
Fixed minor Xcode problems reported by Stephane Corthesy. Also bumped all appropriate...
[sope] / sope-core / NGExtensions / EOExt.subproj / EOGrouping.m
1 /*
2   Copyright (C) 2000-2005 SKYRIX Software AG
3
4   This file is part of SOPE.
5
6   SOPE is free software; you can redistribute it and/or modify it under
7   the terms of the GNU Lesser General Public License as published by the
8   Free Software Foundation; either version 2, or (at your option) any
9   later version.
10
11   SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
12   WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14   License for more details.
15
16   You should have received a copy of the GNU Lesser General Public
17   License along with SOPE; see the file COPYING.  If not, write to the
18   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19   02111-1307, USA.
20 */
21
22 #include "EOGrouping.h"
23 #include "common.h"
24
25 @implementation EOGrouping
26
27 - (id)initWithDefaultName:(NSString *)_defaultName {
28   if ((self = [super init])) {
29     self->defaultName = [_defaultName copy];
30   }
31   return self;
32 }
33
34 - (id)init {
35   return [self initWithDefaultName:nil];
36 }
37
38 - (void)dealloc {
39   [self->defaultName   release];
40   [self->sortOrderings release];
41   [super dealloc];
42 }
43
44 /* accessors */
45
46 - (void)setDefaultName:(NSString *)_defaultName {
47   ASSIGN(self->defaultName, _defaultName);
48 }
49 - (NSString *)defaultName {
50   return self->defaultName;
51 }
52
53 - (void)setSortOrderings:(NSArray *)_sortOrderings {
54   ASSIGN(self->sortOrderings, _sortOrderings);
55 }
56
57 - (NSArray *)sortOrderings {
58   return self->sortOrderings;
59 }
60
61 /* operations */
62
63 - (NSString *)groupNameForObject:(id)_object {
64   [self doesNotRecognizeSelector:_cmd]; // subclass
65   return nil;
66 }
67
68 - (NSArray *)orderedGroupNames {
69   [self doesNotRecognizeSelector:_cmd]; // subclass
70   return nil;
71 }
72
73 - (NSString *)description {
74   return @"EOGrouping";
75 }
76
77 @end /* EOGrouping */
78
79
80 NSString *EOGroupingHint = @"EOGroupingHint";
81
82 @implementation EOFetchSpecification(Groupings)
83
84 - (void)setGroupings:(NSArray *)_groupings {
85   NSDictionary        *lhints;
86   NSMutableDictionary *md;
87   
88   lhints = [self hints];
89   md = lhints ? [lhints mutableCopy] : [[NSMutableDictionary alloc] init];
90   if (_groupings)
91     [md setObject:_groupings forKey:EOGroupingHint];
92   else
93     [md removeObjectForKey:EOGroupingHint];
94   lhints = [md copy];
95   [md release];
96   [self setHints:lhints];
97   [lhints release];
98 }
99 - (NSArray *)groupings {
100   return [[self hints] objectForKey:EOGroupingHint];
101 }
102
103 @end /* EOFetchSpecification(Groupings) */