Samond Classes Library 1.2.0-RELEASE build 166
SCNSDictionary.h
Go to the documentation of this file.
1 //
2 // SCNSDictionary.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 13.05.12.
6 // Copyright (c) 2007 - 2017 by Samond Development Corporation. All rights reserved.
7 //
8 
23 #import <Foundation/Foundation.h>
24 #import <scl/SCCoding.h>
25 #import <scl/SCDictionaring.h>
26 #import <scl/SCStreaming.h>
27 #import <scl/SCCollectioning.h>
28 #import <scl/SCCollectionProtocol.h>
29 
30 #pragma mark -
31 #pragma mark Константы класса
32 
36 #define NSDictionaryClass @"NSDictionary"
37 
38 
53 
77 @property (nonatomic, assign, readonly, getter=empty) BOOL empty;
78 
83 @property (nonatomic, assign, readonly, getter=readOnly) BOOL readOnly;
84 
98 @property (nonatomic, retain, readonly, getter=array) SCArray *array;
99 
104 @property (nonatomic, retain, readonly, getter=set) SCSet *set;
105 
110 @property (nonatomic, retain, readonly, getter=orderedSet) SCOrderedSet *orderedSet;
111 
116 @property (nonatomic, retain, readonly, getter=dictionary) SCDictionary *dictionary;
117 
122 @property (nonatomic, retain, readonly, getter=stack) SCStack *stack;
123 
128 @property (nonatomic, retain, readonly, getter=queue) SCQueue *queue;
129 
134 @property (nonatomic, retain, readonly, getter=unidirectionalList) SCUnidirectionalList *unidirectionalList;
135 
140 @property (nonatomic, retain, readonly, getter=bidirectionalList) SCBidirectionalList *bidirectionalList;
141 
146 @property (nonatomic, retain, readonly, getter=foundationArray) NSArray *foundationArray;
147 
152 @property (nonatomic, retain, readonly, getter=foundationSet) NSSet *foundationSet;
153 
158 @property (nonatomic, retain, readonly, getter=foundationOrderedSet) NSOrderedSet *foundationOrderedSet;
159 
164 @property (nonatomic, retain, readonly, getter=foundationDictionary) NSDictionary *foundationDictionary;
165 
168 #pragma mark -
169 #pragma mark Создание словарей
170 + (NSDictionary *)dictionaryWithCollection:(id)collection;
171 
172 #pragma mark -
173 #pragma mark Инициализация словарей
174 - (id)initWithCollection:(id)collection;
175 
176 #pragma mark -
177 #pragma mark Поддержка последовательных файлов
178 + (NSDictionary *)dictionaryWithCoder:(NSCoder *)coder;
179 + (NSDictionary *)dictionaryWithContentsOfSerializedFile:(NSString *)path;
180 - (id)initWithContentsOfSerializedFile:(NSString *)path;
181 - (BOOL)writeContentsToSerializedFile:(NSString *)path;
182 
183 #pragma mark -
184 #pragma mark Поддержка словарей
185 + (NSDictionary *)dictionaryWithDataDictionary:(NSDictionary *)dictionary;
186 + (NSDictionary *)dictionaryWithDataDictionaryFromFile:(NSString *)path;
187 - (id)initWithDataDictionary:(NSDictionary *)dictionary;
188 - (id)initWithDataDictionaryFromFile:(NSString *)path;
189 - (void)writeToDataDictionary:(NSMutableDictionary *)dictionary;
190 - (void)writeToDataDictionaryFile:(NSString *)path atomically:(BOOL)atomically;
191 - (void)writeToDataDictionaryFile:(NSString *)path;
192 - (NSDictionary *)dataDictionary;
193 
194 #pragma mark -
195 #pragma mark Поддержка потоков
196 + (NSDictionary *)dictionaryWithStream:(SCStream *)stream;
197 + (NSDictionary *)dictionaryWithFileStream:(NSString *)path;
198 - (id)initWithStream:(SCStream *)stream;
199 - (id)initWithFileStream:(NSString *)path;
200 - (void)writeToStream:(SCStream *)stream;
201 - (void)writeToFileStream:(NSString *)path;
202 - (void)appendToFileStream:(NSString *)path;
203 
204 #pragma mark -
205 #pragma mark Поддержка коллекций
207 - (SCComparisonResult)compareWithObject:(id<SCCollectioning>)object;
208 
209 #pragma mark -
210 #pragma mark Реализация протокола SCCollection
211 - (BOOL)empty;
212 - (BOOL)readOnly;
213 - (BOOL)isCollection;
214 - (BOOL)isLibraryCollection;
215 - (BOOL)isFoundationCollection;
216 - (BOOL)isArray;
217 - (BOOL)isLibraryArray;
218 - (BOOL)isFoundationArray;
219 - (BOOL)isSet;
220 - (BOOL)isLibrarySet;
221 - (BOOL)isFoundationSet;
222 - (BOOL)isOrderedSet;
223 - (BOOL)isLibraryOrderedSet;
224 - (BOOL)isFoundationOrderedSet;
225 - (BOOL)isDictionary;
226 - (BOOL)isLibraryDictionary;
227 - (BOOL)isFoundationDictionary;
228 - (BOOL)isStack;
229 - (BOOL)isQueue;
230 - (BOOL)isList;
231 - (BOOL)isSortable;
232 
233 #pragma mark -
234 #pragma mark Поиск элементов словаря
235 - (BOOL)containsObject:(id)object;
236 - (BOOL)containsObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
237 - (BOOL)containsCollection:(id)collection;
238 - (BOOL)containsAnyObject:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
239 - (BOOL)containsAnyObjectFromCollection:(id)collection;
240 
241 #pragma mark -
242 #pragma mark Преобразование словарей
243 - (SCArray *)array;
244 - (SCSet *)set;
247 - (SCStack *)stack;
248 - (SCQueue *)queue;
251 - (NSArray *)foundationArray;
252 - (NSSet *)foundationSet;
253 - (NSOrderedSet *)foundationOrderedSet;
254 - (NSDictionary *)foundationDictionary;
255 
256 @end
BOOL isSet()
Definition: SCNSDictionary.m:673
BOOL isLibraryCollection()
Definition: SCNSDictionary.m:613
NSDictionary * foundationDictionary
Definition: SCNSDictionary.h:164
Unordered set class.
Definition: SCSet.h:63
BOOL isSortable()
Definition: SCNSDictionary.m:817
SCArray * array
Definition: SCNSDictionary.h:98
BOOL isFoundationSet()
Definition: SCNSDictionary.m:697
BOOL isFoundationCollection()
Definition: SCNSDictionary.m:625
id< SCCollectioning > copyObject()
Definition: SCNSDictionary.m:507
Class for support the bidirectional lists of objects.
Definition: SCBidirectionalList.h:75
BOOL isLibrarySet()
Definition: SCNSDictionary.m:685
SCStack * stack
Definition: SCNSDictionary.h:122
NSArray * foundationArray
Definition: SCNSDictionary.h:146
SCSet * set
Definition: SCNSDictionary.h:104
SCQueue * queue
Definition: SCNSDictionary.h:128
Unidirectional list class.
Definition: SCUnidirectionalList.h:74
BOOL isLibraryArray()
Definition: SCNSDictionary.m:649
Standard protocol NSCoding extention protocol.
Definition: SCCoding.h:40
Ordered set class.
Definition: SCOrderedSet.h:74
BOOL isFoundationOrderedSet()
Definition: SCNSDictionary.m:733
Standard class NSDictionary functionality extending category.
Definition: SCNSDictionary.h:52
enum _SCComparisonResult SCComparisonResult
Instances comparing results type.
Definition: SCCollectioning.h:60
NSOrderedSet * foundationOrderedSet
Definition: SCNSDictionary.h:158
SCBidirectionalList * bidirectionalList
Definition: SCNSDictionary.h:140
NSDictionary * dataDictionary()
Definition: SCNSDictionary.m:285
BOOL isQueue()
Definition: SCNSDictionary.m:793
BOOL isCollection()
Definition: SCNSDictionary.m:601
Protocol of methods for data exchanging between class instances and classes NSDictionary and NSMutabl...
Definition: SCDictionaring.h:42
BOOL isFoundationArray()
Definition: SCNSDictionary.m:661
BOOL isLibraryOrderedSet()
Definition: SCNSDictionary.m:721
BOOL readOnly
Definition: SCNSDictionary.h:83
BOOL isLibraryDictionary()
Definition: SCNSDictionary.m:757
BOOL isList()
Definition: SCNSDictionary.m:805
BOOL isStack()
Definition: SCNSDictionary.m:781
BOOL isArray()
Definition: SCNSDictionary.m:637
Collections communications protocol.
Definition: SCCollectioning.h:78
Streams communications protocol.
Definition: SCStreaming.h:40
SCDictionary * dictionary
Definition: SCNSDictionary.h:116
BOOL empty
Definition: SCNSDictionary.h:77
SCOrderedSet * orderedSet
Definition: SCNSDictionary.h:110
Abstract collections class.
Definition: SCCollection.h:94
Stack of objects class.
Definition: SCStack.h:69
BOOL isOrderedSet()
Definition: SCNSDictionary.m:709
BOOL isDictionary()
Definition: SCNSDictionary.m:745
Queue of objects class.
Definition: SCQueue.h:74
BOOL isFoundationDictionary()
Definition: SCNSDictionary.m:769
Dictionary class.
Definition: SCDictionary.h:75
SCUnidirectionalList * unidirectionalList
Definition: SCNSDictionary.h:134
Array class.
Definition: SCArray.h:77
NSSet * foundationSet
Definition: SCNSDictionary.h:152
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:242