Samond Classes Library 1.2.6-STABLE build 219
NSDictionary+SCDictionary.h
Go to the documentation of this file.
1 //
2 // NSDictionary+SCDictionary.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 13.05.12.
6 // Copyright (c) 2007 - 2018 by Samond Development Corporation. All rights reserved.
7 //
8 
24 #import <Foundation/Foundation.h>
25 #import <scl/NSArray+SCArray.h>
28 
29 #pragma mark -
30 #pragma mark Class Constants
31 
40 #define NSDictionaryClass @"NSDictionary"
41 
42 
57 
73 @property (nonatomic, readonly, retain) NSString *name;
74 
79 @property (nonatomic, readonly, assign) BOOL empty;
80 
85 @property (nonatomic, readonly, assign) BOOL readOnly;
86 
91 @property (nonatomic, readonly, retain) id<SCCollectionDelegate> delegate;
92 
97 @property (nonatomic, readonly, assign) SCCollectionType collectionType;
98 
103 @property (nonatomic, readonly, assign) BOOL isCollection;
104 
109 @property (nonatomic, readonly, assign) BOOL isLibraryCollection;
110 
115 @property (nonatomic, readonly, assign) BOOL isFoundationCollection;
116 
121 @property (nonatomic, readonly, assign) BOOL isArray;
122 
127 @property (nonatomic, readonly, assign) BOOL isLibraryArray;
128 
134 @property (nonatomic, readonly, assign) BOOL isFoundationArray;
135 
140 @property (nonatomic, readonly, assign) BOOL isSet;
141 
146 @property (nonatomic, readonly, assign) BOOL isLibrarySet;
147 
153 @property (nonatomic, readonly, assign) BOOL isFoundationSet;
154 
159 @property (nonatomic, readonly, assign) BOOL isOrderedSet;
160 
165 @property (nonatomic, readonly, assign) BOOL isLibraryOrderedSet;
166 
173 @property (nonatomic, readonly, assign) BOOL isFoundationOrderedSet;
174 
179 @property (nonatomic, readonly, assign) BOOL isDictionary;
180 
185 @property (nonatomic, readonly, assign) BOOL isLibraryDictionary;
186 
193 @property (nonatomic, readonly, assign) BOOL isFoundationDictionary;
194 
199 @property (nonatomic, readonly, assign) BOOL isStack;
200 
205 @property (nonatomic, readonly, assign) BOOL isQueue;
206 
212 @property (nonatomic, readonly, assign) BOOL isList;
213 
219 @property (nonatomic, readonly, assign) BOOL isSortable;
220 
234 @property (nonatomic, readonly, assign) SCArray *array;
235 
240 @property (nonatomic, readonly, assign) SCSet *set;
241 
246 @property (nonatomic, readonly, assign) SCOrderedSet *orderedSet;
247 
252 @property (nonatomic, readonly, assign) SCDictionary *dictionary;
253 
258 @property (nonatomic, readonly, assign) SCStack *stack;
259 
264 @property (nonatomic, readonly, assign) SCQueue *queue;
265 
270 @property (nonatomic, readonly, assign) SCUnidirectionalList *unidirectionalList;
271 
276 @property (nonatomic, readonly, assign) SCBidirectionalList *bidirectionalList;
277 
282 @property (nonatomic, readonly, assign) NSArray *foundationArray;
283 
288 @property (nonatomic, readonly, assign) NSSet *foundationSet;
289 
294 @property (nonatomic, readonly, assign) NSOrderedSet *foundationOrderedSet;
295 
300 @property (nonatomic, readonly, assign) NSDictionary *foundationDictionary;
301 
304 #pragma mark -
305 #pragma mark Creating Dictionaries
306 + (instancetype)dictionaryWithCoder:(NSCoder *)coder;
307 + (instancetype)dictionaryWithContentsOfSerializedFile:(NSString *)path;
308 + (instancetype)dictionaryWithDataDictionary:(NSDictionary *)dictionary;
309 + (instancetype)dictionaryWithDataDictionaryFromFile:(NSString *)path;
310 + (instancetype)dictionaryWithStream:(SCStream *)stream;
311 + (instancetype)dictionaryWithFileStream:(NSString *)path;
312 + (instancetype)dictionaryWithData:(NSData *)data;
313 + (instancetype)dictionaryWithContentsOfURLString:(NSString *)urlString;
314 + (instancetype)dictionaryWithCollection:(id<SCCollection>)collection;
315 
316 #pragma mark -
317 #pragma mark Initializing Dictionaries
318 - (instancetype)initWithCollection:(id<SCCollection>)collection;
319 
320 #pragma mark -
321 #pragma mark Finding Objects and Keys in a Dictionary
322 - (BOOL)containsObject:(id<SCCollectioning>)object;
323 - (BOOL)containsObjects:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
324 - (BOOL)containsCollection:(id<SCCollection>)collection;
325 - (BOOL)containsAnyObject:(id<SCCollectioning>)object, ... NS_REQUIRES_NIL_TERMINATION;
326 - (BOOL)containsAnyObjectFromCollection:(id<SCCollection>)collection;
327 - (BOOL)containsKey:(id)key;
328 - (BOOL)containsKeys:(id)key, ... NS_REQUIRES_NIL_TERMINATION;
329 - (BOOL)containsKeysFromCollection:(id<SCCollection>)collection;
330 - (BOOL)containsAnyKey:(id)key, ... NS_REQUIRES_NIL_TERMINATION;
331 - (BOOL)containsAnyKeyFromCollection:(id<SCCollection>)collection;
332 
333 #pragma mark -
334 #pragma mark Accessing Keys and Values
335 - (id)getObjectForKey:(NSString *)key;
336 
337 #pragma mark -
338 #pragma mark Comparing Dictionaries
339 - (BOOL)isEqualToCollection:(id<SCCollection>)collection;
340 
341 #pragma mark -
342 #pragma mark Deriving New Dictionaries
343 - (NSDictionary *)dictionaryByAddingObject:(id)object forKey:(id)key;
344 - (NSDictionary *)dictionaryByAddingObject:(id)object;
345 - (NSDictionary *)dictionaryByAddingObjects:(NSArray *)objects forKeys:(NSArray *)keys;
346 - (NSDictionary *)dictionaryByAddingObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
347 - (NSDictionary *)dictionaryByAddingObjectsAndKeys:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
348 - (NSDictionary *)dictionaryByAddingCollection:(id<SCCollection>)collection;
349 - (NSDictionary *)dictionaryByAddingObjectsFromArray:(NSArray *)array;
350 - (NSDictionary *)dictionaryByAddingArray:(NSArray *)array;
351 - (NSDictionary *)dictionaryByAddingEntriesFromDictionary:(NSDictionary *)dictionary;
352 - (NSDictionary *)dictionaryByAddingDictionary:(NSDictionary *)dictionary;
353 
354 @end
SCQueue * queue
Definition: NSDictionary+SCDictionary.h:264
Unordered set class.
Definition: SCSet.h:72
Standard class NSDictionary functionality extending category.
Definition: NSDictionary+SCDictionary.h:56
BOOL isStack
Definition: NSDictionary+SCDictionary.h:199
NSString * name
Definition: NSDictionary+SCDictionary.h:73
Class for support the bidirectional lists of objects.
Definition: SCBidirectionalList.h:81
SCArray * array
Definition: NSDictionary+SCDictionary.h:234
BOOL isArray
Definition: NSDictionary+SCDictionary.h:121
Unidirectional list class.
Definition: SCUnidirectionalList.h:80
BOOL isLibraryDictionary
Definition: NSDictionary+SCDictionary.h:185
BOOL isCollection
Definition: NSDictionary+SCDictionary.h:103
BOOL isLibraryArray
Definition: NSDictionary+SCDictionary.h:127
BOOL isSet
Definition: NSDictionary+SCDictionary.h:140
Caregory NSArray(SCArray) header file.
BOOL isFoundationOrderedSet
Definition: NSDictionary+SCDictionary.h:173
SCCollectionType collectionType
Definition: NSDictionary+SCDictionary.h:97
Ordered set class.
Definition: SCOrderedSet.h:83
BOOL isList
Definition: NSDictionary+SCDictionary.h:212
BOOL isOrderedSet
Definition: NSDictionary+SCDictionary.h:159
SCUnidirectionalList * unidirectionalList
Definition: NSDictionary+SCDictionary.h:270
BOOL isFoundationCollection
Definition: NSDictionary+SCDictionary.h:115
SCStack * stack
Definition: NSDictionary+SCDictionary.h:258
SCSet * set
Definition: NSDictionary+SCDictionary.h:240
NSOrderedSet * foundationOrderedSet
Definition: NSDictionary+SCDictionary.h:294
BOOL isQueue
Definition: NSDictionary+SCDictionary.h:205
BOOL isFoundationArray
Definition: NSDictionary+SCDictionary.h:134
NSSet * foundationSet
Definition: NSDictionary+SCDictionary.h:288
BOOL isDictionary
Definition: NSDictionary+SCDictionary.h:179
SCBidirectionalList * bidirectionalList
Definition: NSDictionary+SCDictionary.h:276
id< SCCollectionDelegate > delegate
Definition: NSDictionary+SCDictionary.h:91
BOOL empty
Definition: NSDictionary+SCDictionary.h:79
BOOL isLibraryCollection
Definition: NSDictionary+SCDictionary.h:109
Collection types protocols header file.
BOOL isSortable
Definition: NSDictionary+SCDictionary.h:219
Collections communications protocol.
Definition: SCCollectioning.h:79
BOOL readOnly
Definition: NSDictionary+SCDictionary.h:85
BOOL isLibraryOrderedSet
Definition: NSDictionary+SCDictionary.h:165
BOOL isFoundationDictionary
Definition: NSDictionary+SCDictionary.h:193
Abstract collections class.
Definition: SCCollection.h:98
Stack of objects class.
Definition: SCStack.h:77
NSArray * foundationArray
Definition: NSDictionary+SCDictionary.h:282
NSDictionary * foundationDictionary
Definition: NSDictionary+SCDictionary.h:300
Keyed collections protocol.
Definition: SCCollectionProtocols.h:996
Queue of objects class.
Definition: SCQueue.h:83
Category NSObject(SCObject) header file.
SCOrderedSet * orderedSet
Definition: NSDictionary+SCDictionary.h:246
Dictionary class.
Definition: SCDictionary.h:80
Array class.
Definition: SCArray.h:84
SCCollectionType
Definition: SCCollectionProtocols.h:59
BOOL isLibrarySet
Definition: NSDictionary+SCDictionary.h:146
BOOL isFoundationSet
Definition: NSDictionary+SCDictionary.h:153
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:224
SCDictionary * dictionary
Definition: NSDictionary+SCDictionary.h:252