|
Samond Classes Library 1.1.6-RELEASE build 132
|
00001 // 00002 // SCNSMutableDictionary.h 00003 // scl 00004 // 00005 // Created by Viacheslav Smolensky on 13.05.12. 00006 // Copyright (c) 2007 - 2014 by Samond Development Corporation. All rights reserved. 00007 // 00008 00016 #import <Foundation/Foundation.h> 00017 #import <scl/SCCollectionProtocol.h> 00018 #import <scl/SCDictionaryObjectProtocol.h> 00019 00020 #define NSMutableDictionaryClass @"NSMutableDictionary" ///< NSMutableDictionary class name 00021 00032 @interface NSMutableDictionary(SCNSMutableDictionary) <SCCollectionProtocol, 00033 SCDictionaryObjectProtocol, SCStreamProtocol> 00034 #pragma mark - 00035 #pragma mark Category properties 00036 #if (__MAC_OS_X_VERSION_MIN_REQUIRED > 1040) || IOS_TARGET 00037 // Instance class name property 00038 @property (retain, readonly, getter=className) NSString *className; 00039 #endif 00040 00041 #pragma mark - 00042 #pragma mark Creating and Initializing Class Instance 00043 00049 + (NSMutableDictionary *)dictionaryWithContentsOfSerializedFile:(NSString *)path; 00050 00056 + (NSMutableDictionary *)dictionaryWithDataDictionary:(NSDictionary *)dictionary; 00057 00063 + (NSMutableDictionary *)dictionaryWithDataDictionaryFromFile:(NSString *)path; 00064 00070 + (NSMutableDictionary *)dictionaryWithCoder:(NSCoder *)coder; 00071 00079 + (NSMutableDictionary *)dictionaryWithStream:(SCStream *)stream; 00080 00087 + (NSMutableDictionary *)dictionaryWithFileStream:(NSString *)path; 00088 00094 - (id)initWithContentsOfSerializedFile:(NSString *)path; 00095 00101 - (id)initWithDataDictionary:(NSDictionary *)dictionary; 00102 00108 - (id)initWithDataDictionaryFromFile:(NSString *)path; 00109 00117 - (id)initWithStream:(SCStream *)stream; 00118 00125 - (id)initWithFileStream:(NSString *)path; 00126 00127 #pragma mark - 00128 #pragma mark Supporting Data Dictionaries 00129 00134 - (void)writeToDataDictionary:(NSMutableDictionary *)dictionary; 00135 00142 - (void)writeToDataDictionaryFile:(NSString *)path atomically:(BOOL)atomically; 00143 00148 - (void)writeToDataDictionaryFile:(NSString *)path; 00149 00154 - (NSDictionary *)dataDictionary; 00155 00156 #pragma mark - 00157 #pragma mark Supporting Coders and Serialized Files 00158 00164 - (BOOL)writeContentsToSerializedFile:(NSString *)path; 00165 00166 #pragma mark - 00167 #pragma mark Supporting Collections 00168 00173 - (id<SCCollectionProtocol>)copyObject; 00174 00185 - (SCComparisonResult)compareWithObject:(id<SCCollectionProtocol>)object; 00186 00187 #pragma mark - 00188 #pragma mark Supporting Streams 00189 00196 - (void)writeToStream:(SCStream *)stream; 00197 00203 - (void)writeToFileStream:(NSString *)path; 00204 00210 - (void)appendToFileStream:(NSString *)path; 00211 00212 #pragma mark - 00213 #pragma mark Other Methods 00214 00219 - (NSString *)className; 00220 00221 #pragma mark - 00222 #pragma mark Detecting Collection Type 00223 00228 - (BOOL)isCollection; 00229 00234 - (BOOL)isLibraryCollection; 00235 00240 - (BOOL)isFoundationCollection; 00241 00246 - (BOOL)isArray; 00247 00252 - (BOOL)isLibraryArray; 00253 00258 - (BOOL)isFoundationArray; 00259 00264 - (BOOL)isSet; 00265 00270 - (BOOL)isLibrarySet; 00271 00276 - (BOOL)isOrderedSet; 00277 00282 - (BOOL)isLibraryOrderedSet; 00283 00288 - (BOOL)isFoundationOrderedSet; 00289 00294 - (BOOL)isFoundationSet; 00295 00300 - (BOOL)isDictionary; 00301 00306 - (BOOL)isLibraryDictionary; 00307 00312 - (BOOL)isFoundationDictionary; 00313 00318 - (BOOL)isStack; 00319 00324 - (BOOL)isQueue; 00325 00330 - (BOOL)isList; 00331 00336 - (BOOL)isSortable; 00337 00338 @end
1.7.3