Samond Classes Library 1.2.6-STABLE build 219
SCObject.h
Go to the documentation of this file.
1 //
2 // SCObject.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 02.11.11.
6 // Copyright (c) 2007 - 2018 by Samond Development Corporation. All rights reserved.
7 //
8 
23 #import <Foundation/Foundation.h>
25 
26 @class SCData;
27 @class SCStream;
28 
29 #pragma mark -
30 #pragma mark Class Constants
31 
40 #define SCObjectClass @"SCObject"
41 
42 #pragma mark -
43 
61 @interface SCObject : NSObject
62 
63 #pragma mark -
64 #pragma mark Instance Properties
65 
74 @property (nonatomic, readonly, copy) NSString *className;
75 
78 #pragma mark -
79 #pragma mark Serialized Files Support
80 - (instancetype)initWithCoder:(NSCoder *)coder;
81 - (instancetype)initWithContentsOfSerializedFile:(NSString *)path;
82 - (void)encodeWithCoder:(NSCoder *)coder;
83 - (BOOL)writeContentsToSerializedFile:(NSString *)path;
84 
85 #pragma mark -
86 #pragma mark Data Dictionaries Support
87 - (instancetype)initWithDataDictionary:(NSDictionary *)dictionary;
88 - (instancetype)initWithDataDictionaryFromFile:(NSString *)path;
89 - (void)writeToDataDictionary:(NSMutableDictionary *)dictionary;
90 - (void)writeToDataDictionaryFile:(NSString *)path atomically:(BOOL)atomically;
91 - (void)writeToDataDictionaryFile:(NSString *)path;
92 - (NSDictionary *)dataDictionary;
93 
94 #pragma mark -
95 #pragma mark Streams Support
96 - (instancetype)initWithStream:(SCStream *)stream;
97 - (instancetype)initWithFileStream:(NSString *)path;
98 - (void)writeToStream:(SCStream *)stream;
99 - (void)writeToFileStream:(NSString *)path;
100 - (void)appendToFileStream:(NSString *)path;
101 
102 #pragma mark -
103 #pragma mark Collections Support
104 - (id)copyObject;
105 - (SCComparisonResult)compareWithObject:(id<SCCollectioning>)object;
106 
107 #pragma mark -
108 #pragma mark Comparing Objects
109 - (BOOL)isEqual:(id)object;
110 
111 #pragma mark -
112 #pragma mark Interaction with Data Objects
113 - (instancetype)initWithData:(NSData *)data;
114 - (instancetype)initWithDataWrapper:(SCData *)data;
115 - (instancetype)initWithContentsOfFile:(NSString *)path;
116 - (instancetype)initWithContentsOfURL:(NSURL *)url;
117 - (instancetype)initWithContentsOfURLString:(NSString *)urlString;
118 - (void)writeToData:(NSMutableData *)data;
119 - (BOOL)writeToFile:(NSString *)path;
120 - (BOOL)writeToURL:(NSURL *)url;
121 - (BOOL)writeToURLString:(NSString *)urlString;
122 - (NSData *)data;
123 
124 @end
NSData * data()
Definition: SCObject.m:481
Wrapper class for data objects.
Definition: SCData.h:59
id copyObject()
Definition: SCObject.m:293
Parent class of all library classes.
Definition: SCObject.h:61
SCComparisonResult
Definition: SCCollectioning.h:36
NSDictionary * dataDictionary()
Definition: SCObject.m:183
Category NSObject(SCObject) header file.
NSString * className
Definition: SCObject.h:74
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:224