/*
CKMultiValue.h
Copyright (C) <2006> Yen-Ju Chen <gmail>
Copyright (C) <2005> Bjoern Giesler <bjoern@giesler.de>
This library 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.1 of the License, or (at your option) any later version.
This library 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 this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#import <Foundation/Foundation.h>
#import "CKTypedefs.h"
@interface CKMultiValue : NSObject <NSCopying, NSMutableCopying>
{
NSString *_primaryId;
CKPropertyType _type;
NSMutableArray *_arr;
}
- (id) initWithMultiValue: (CKMultiValue*) mv;
- (id) initWithType: (CKPropertyType) type;
/** for save **/
- (id) initWithType: (CKPropertyType) type contentArray: (NSArray *) array;
- (NSArray*) contentArray;
- (unsigned int) count;
- (id) valueAtIndex: (int) index;
- (NSString*) labelAtIndex: (int) index;
- (NSString*) identifierAtIndex: (int) index;
- (int) indexForIdentifier: (NSString*) identifier;
- (NSString*) primaryIdentifier;
- (CKPropertyType) propertyType;
@end
@interface CKMutableMultiValue: CKMultiValue
{
int _nextId;
}
- (NSString*) addValue: (id) value withLabel: (NSString*) label;
- (NSString *) insertValue: (id) value withLabel: (NSString*) label
atIndex: (int) index;
- (BOOL) removeValueAndLabelAtIndex: (int) index;
- (BOOL) replaceValueAtIndex: (int) index withValue: (id) value;
- (BOOL) replaceLabelAtIndex: (int) index withLabel: (NSString*) label;
- (BOOL)setPrimaryIdentifier:(NSString *)identifier;
@end
syntax highlighted by Code2HTML, v. 0.9.1