22 #import <scl/SCException.h>
23 #import <scl/SCCollection.h>
26 #pragma mark Константы класса
31 #define SCTextExceptionCalss @"SCTextException"
32 #define SCTextErrorName @"SCText"
37 #pragma mark Константы ошибок
42 #define SCTextEIDUnspecified @"SCL-20060"
43 #define SCTextEIDSource @"SCL-20061"
45 #define SCTextEIDInputStream @"SCL-20062"
47 #define SCTextEIDReadOnly @"SCL-20063"
49 #define SCTextEIDEmptyString @"SCL-20064"
51 #define SCTextEIDClosedStream @"SCL-20065"
53 #define SCTextEIDUnsupported @"SCL-20066"
55 #define SCTextEIDRead @"SCL-20067"
57 #define SCTextEIDEmptyPath @"SCL-20068"
59 #define SCTextEIDDuplicated @"SCL-20069"
61 #define SCTextEIDSorter @"SCL-20070"
63 #define SCTextEIDOutputStream @"SCL-20071"
65 #define SCTextEIDIndex @"SCL-20072"
67 #define SCTextEIDRange @"SCL-20073"
69 #define SCTextEIDIndexSet @"SCL-20074"
71 #define SCTextEIDIndexesCount @"SCL-20075"
73 #define SCTextEIDIntersected @"SCL-20076"
75 #define SCTextEIDWrite @"SCL-20077"
80 #pragma mark Типы поддержки класса
198 NSIndexSet *fIndexSet;
199 NSString *fUnsupported;
203 NSRange fIntersected;
215 @property (nonatomic, retain, readonly, getter=
textName) NSString *textName;
221 @property (nonatomic, retain, readonly, getter=
string) NSString *
string;
233 @property (nonatomic, retain, readonly, getter=
indexSet) NSIndexSet *indexSet;
239 @property (nonatomic, retain, readonly, getter=
unsupported) NSString *unsupported;
257 @property (nonatomic, assign, readonly, getter=
range) NSRange range;
263 @property (nonatomic, assign, readonly, getter=
intersected) NSRange intersected;
274 #pragma mark Доступ к свойствам экземпляра класса
275 - (NSString *)textName;
276 - (NSString *)string;
278 - (NSIndexSet *)indexSet;
279 - (NSString *)unsupported;
283 - (NSRange)intersected;
287 #pragma mark Создание и инициализация общих видов исключительных ситуаций
290 reason:(NSString *)reason
296 - (id)initWithName:(NSString *)name reason:(NSString *)reason code:(
SCInteger)code eid:(NSString *)eid;
297 - (id)initWithReason:(NSString *)reason code:(
SCInteger)code eid:(NSString *)eid;
298 - (id)initWithName:(NSString *)name;
302 #pragma mark Создание и инициализация исключительной ситуации несуществующего исходного объекта
306 - (id)initSourceExceptionWithName:(NSString *)name;
307 - (id)initSourceException;
310 #pragma mark Создание и инициализация исключительной ситуации некорректного входного потока
314 - (id)initWithInputStream:(
SCStream *)stream name:(NSString *)name;
315 - (id)initWithInputStream:(
SCStream *)stream;
318 #pragma mark Создание и инициализация исключительной ситуации нарушения режима только для чтения
322 - (id)initReadOnlyWithName:(NSString *)name;
326 #pragma mark Создание и инициализация исключительной ситуации добавления нулевой строки
330 - (id)initEmptyStringWithName:(NSString *)name;
331 - (id)initEmptyString;
334 #pragma mark Создание и инициализация исключительной ситуации закрытого потока
338 - (id)initWithClosedStream:(
SCStream *)stream name:(NSString *)name;
339 - (id)initWithClosedStream:(
SCStream *)stream;
342 #pragma mark Создание и инициализация исключительной ситуации неподдерживаемого класса
344 + (
SCTextException *)exceptionWithUnsupported:(NSString *)unsupported name:(NSString *)name;
346 - (id)initWithUnsupported:(NSString *)unsupported name:(NSString *)name;
347 - (id)initWithUnsupported:(NSString *)unsupported;
350 #pragma mark Создание и инициализация исключительной ситуации ошибки чтения данных из потока
354 - (id)initReadErrorWithStream:(
SCStream *)stream name:(NSString *)name;
355 - (id)initReadErrorWithStream:(
SCStream *)stream;
358 #pragma mark Создания и инициализация исключительной ситуации пустого пути к текстовому файлу
362 - (id)initEmptyPathExceptionWithName:(NSString *)name;
363 - (id)initEmptyPathException;
366 #pragma mark Создание и инициализация исключительной ситуации нарушения уникальности строк
368 + (
SCTextException *)duplicateExceptionWithName:(NSString *)name string:(NSString *)string index:(
SCIndex)index;
370 - (id)initDuplicateWithName:(NSString *)name string:(NSString *)string index:(
SCIndex)index;
371 - (id)initDuplicateWithString:(NSString *)string index:(
SCIndex)index;
374 #pragma mark Создание и инициализация исключительной ситуации некорректного сортировщика строк
378 - (id)initSorterExceptionWithName:(NSString *)name;
379 - (id)initSorterException;
382 #pragma mark Создание и инициализация исключительной ситуации некорректного выходного потока
386 - (id)initWithOutputStream:(
SCStream *)stream name:(NSString *)name;
387 - (id)initWithOutputStream:(
SCStream *)stream;
390 #pragma mark Создание и инициализация исключительной ситуации недопустимого индекса
394 - (id)initWithIndex:(
SCIndex)index name:(NSString *)name;
395 - (id)initWithIndex:(
SCIndex)index;
398 #pragma mark Создание и инициализация исключительной ситуации недопустимого диапазона строк
400 + (
SCTextException *)exceptionWithRange:(NSRange)range name:(NSString *)name;
402 - (id)initWithRange:(NSRange)range name:(NSString *)name;
403 - (id)initWithRange:(NSRange)range;
406 #pragma mark Создание и инициализация исключительной ситуации недопустимого списка индексов строк
408 + (
SCTextException *)exceptionWithIndexSet:(NSIndexSet *)indexSet name:(NSString *)name;
410 - (id)initWithIndexSet:(NSIndexSet *)indexSet name:(NSString *)name;
411 - (id)initWithIndexSet:(NSIndexSet *)indexSet;
414 #pragma mark Создание и инициализация исключительной ситуации несоответствия количества индексов и строк
418 - (id)initWithIndexesCount:(
SCULong)icount stringsCount:(
SCULong)scount name:(NSString *)name;
419 - (id)initWithIndexesCount:(
SCULong)icount stringsCount:(
SCULong)scount;
422 #pragma mark Создание и инициализация исключительной ситуации пересекающихся диапазонов строк
424 + (
SCTextException *)exceptionWithRange:(NSRange)range intersected:(NSRange)intersected name:(NSString *)name;
425 + (
SCTextException *)exceptionWithRange:(NSRange)range intersected:(NSRange)intersected;
426 - (id)initWithRange:(NSRange)range intersected:(NSRange)intersected name:(NSString *)name;
427 - (id)initWithRange:(NSRange)range intersected:(NSRange)intersected;
430 #pragma mark Создание и инициализация исключительной ситуации ошибки записи данных в поток
434 - (id)initWriteErrorWithStream:(
SCStream *)stream name:(NSString *)name;
435 - (id)initWriteErrorWithStream:(
SCStream *)stream;
Incorrect strings sorter.
Definition: SCTextException.h:115
NSRange intersected
Definition: SCTextException.h:263
uint64_t SCULong
Definition: SCTypes.h:78
SCULong SCIndex
Index data type.
Definition: SCTypes.h:240
NSRange range
Definition: SCTextException.h:257
int32_t SCInteger
Definition: SCTypes.h:48
enum _SCTextError SCTextError
Text object errors data type.
Definition: SCTextException.h:143
NSString * string
Definition: SCTextException.h:221
SCULong stringsCount
Definition: SCTextException.h:251
Incorrect output stream.
Definition: SCTextException.h:117
Parent class of all library exceptions.
Definition: SCException.h:52
Writing error.
Definition: SCTextException.h:129
Closed stream.
Definition: SCTextException.h:105
Empty text file path.
Definition: SCTextException.h:111
SCIndex index
Definition: SCTextException.h:227
NSString * unsupported
Definition: SCTextException.h:239
Reading error.
Definition: SCTextException.h:109
String unique violation.
Definition: SCTextException.h:113
Unspecified text error.
Definition: SCTextException.h:95
Source object does not exist.
Definition: SCTextException.h:97
Incorrect input stream.
Definition: SCTextException.h:99
Number of indexes does not match number of strings.
Definition: SCTextException.h:125
NSString * textName
Definition: SCTextException.h:215
NSIndexSet * indexSet
Definition: SCTextException.h:233
_SCTextError
Definition: SCTextException.h:94
Not string instance.
Definition: SCTextException.h:107
Intersected string ranges.
Definition: SCTextException.h:127
Exception class SCTextException.
Definition: SCTextException.h:194
SCStream * stream
Definition: SCTextException.h:269
Incorrect string index.
Definition: SCTextException.h:119
SCULong indexesCount
Definition: SCTextException.h:245
Incorrect string range.
Definition: SCTextException.h:121
Text is read only.
Definition: SCTextException.h:101
Incorrect index set.
Definition: SCTextException.h:123
Null string adding.
Definition: SCTextException.h:103
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:242