2 Copyright (C) 2000-2005 SKYRIX Software AG
4 This file is part of SOPE.
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
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.
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
22 #include "EOGrouping.h"
25 @implementation EOGrouping
27 - (id)initWithDefaultName:(NSString *)_defaultName {
28 if ((self = [super init])) {
29 self->defaultName = [_defaultName copy];
35 return [self initWithDefaultName:nil];
39 [self->defaultName release];
40 [self->sortOrderings release];
46 - (void)setDefaultName:(NSString *)_defaultName {
47 ASSIGN(self->defaultName, _defaultName);
49 - (NSString *)defaultName {
50 return self->defaultName;
53 - (void)setSortOrderings:(NSArray *)_sortOrderings {
54 ASSIGN(self->sortOrderings, _sortOrderings);
57 - (NSArray *)sortOrderings {
58 return self->sortOrderings;
63 - (NSString *)groupNameForObject:(id)_object {
64 [self doesNotRecognizeSelector:_cmd]; // subclass
68 - (NSArray *)orderedGroupNames {
69 [self doesNotRecognizeSelector:_cmd]; // subclass
73 - (NSString *)description {
80 NSString *EOGroupingHint = @"EOGroupingHint";
82 @implementation EOFetchSpecification(Groupings)
84 - (void)setGroupings:(NSArray *)_groupings {
86 NSMutableDictionary *md;
88 lhints = [self hints];
89 md = lhints ? [lhints mutableCopy] : [[NSMutableDictionary alloc] init];
91 [md setObject:_groupings forKey:EOGroupingHint];
93 [md removeObjectForKey:EOGroupingHint];
96 [self setHints:lhints];
99 - (NSArray *)groupings {
100 return [[self hints] objectForKey:EOGroupingHint];
103 @end /* EOFetchSpecification(Groupings) */