Samond Classes Library 1.2.0-RELEASE build 166
SCTextException.h
Go to the documentation of this file.
1 //
2 // SCTextException.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 05.02.13.
6 // Copyright (c) 2007 - 2017 by Samond Development Corporation. All rights reserved.
7 //
8 
22 #import <scl/SCException.h>
23 #import <scl/SCCollection.h>
24 
25 #pragma mark -
26 #pragma mark Константы класса
27 
31 #define SCTextExceptionCalss @"SCTextException"
32 #define SCTextErrorName @"SCText"
34 
36 #pragma mark -
37 #pragma mark Константы ошибок
38 
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"
77 
79 #pragma mark -
80 #pragma mark Типы поддержки класса
81 
109  SCTextErrorRead = -20067,
131 };
132 
144 
195  NSString *fTextName; // Название текста
196  NSString *fString; // Ошибочная строка
197  SCIndex fIndex; // Ошибочный индекс
198  NSIndexSet *fIndexSet; // Недопустимый список индексов строк
199  NSString *fUnsupported; // Название неподдерживаемого класса
200  SCULong fIndexesCount; // Количество индексов
201  SCULong fStringsCount; // Количество строк
202  NSRange fRange; // Недопустимый диапазон строк
203  NSRange fIntersected; // Пересекающийся диапазон
204  SCStream *fStream; // Ошибочный поток
205 }
215 @property (nonatomic, retain, readonly, getter=textName) NSString *textName;
216 
221 @property (nonatomic, retain, readonly, getter=string) NSString *string;
222 
227 @property (nonatomic, assign, readonly, getter=index) SCIndex index;
228 
233 @property (nonatomic, retain, readonly, getter=indexSet) NSIndexSet *indexSet;
234 
239 @property (nonatomic, retain, readonly, getter=unsupported) NSString *unsupported;
240 
245 @property (nonatomic, assign, readonly, getter=indexesCount) SCULong indexesCount;
246 
251 @property (nonatomic, assign, readonly, getter=stringsCount) SCULong stringsCount;
252 
257 @property (nonatomic, assign, readonly, getter=range) NSRange range;
258 
263 @property (nonatomic, assign, readonly, getter=intersected) NSRange intersected;
264 
269 @property (nonatomic, assign, readonly, getter=stream) SCStream *stream;
270 
273 #pragma mark -
274 #pragma mark Доступ к свойствам экземпляра класса
275 - (NSString *)textName;
276 - (NSString *)string;
277 - (SCIndex)index;
278 - (NSIndexSet *)indexSet;
279 - (NSString *)unsupported;
280 - (SCULong)indexesCount;
281 - (SCULong)stringsCount;
282 - (NSRange)range;
283 - (NSRange)intersected;
284 - (SCStream *)stream;
285 
286 #pragma mark -
287 #pragma mark Создание и инициализация общих видов исключительных ситуаций
288 // SCL-20060
289 + (SCTextException *)exceptionWithName:(NSString *)name
290  reason:(NSString *)reason
291  code:(SCInteger)code
292  eid:(NSString *)eid;
293 + (SCTextException *)exceptionWithReason:(NSString *)reason code:(SCInteger)code eid:(NSString *)eid;
294 + (SCTextException *)exceptionWithName:(NSString *)name;
295 + (SCTextException *)exception;
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;
299 - (id)init;
300 
301 #pragma mark -
302 #pragma mark Создание и инициализация исключительной ситуации несуществующего исходного объекта
303 // SCL-20061
304 + (SCTextException *)sourceExceptionWithName:(NSString *)name;
305 + (SCTextException *)sourceException;
306 - (id)initSourceExceptionWithName:(NSString *)name;
307 - (id)initSourceException;
308 
309 #pragma mark -
310 #pragma mark Создание и инициализация исключительной ситуации некорректного входного потока
311 // SCL-20062
312 + (SCTextException *)exceptionWithInputStream:(SCStream *)stream name:(NSString *)name;
313 + (SCTextException *)exceptionWithInputStream:(SCStream *)stream;
314 - (id)initWithInputStream:(SCStream *)stream name:(NSString *)name;
315 - (id)initWithInputStream:(SCStream *)stream;
316 
317 #pragma mark -
318 #pragma mark Создание и инициализация исключительной ситуации нарушения режима только для чтения
319 // SCL-20063
320 + (SCTextException *)readOnlyExceptionWithName:(NSString *)name;
321 + (SCTextException *)readOnlyException;
322 - (id)initReadOnlyWithName:(NSString *)name;
323 - (id)initReadOnly;
324 
325 #pragma mark -
326 #pragma mark Создание и инициализация исключительной ситуации добавления нулевой строки
327 // SCL-20064
328 + (SCTextException *)emptyStringExceptionWithName:(NSString *)name;
329 + (SCTextException *)emptyStringException;
330 - (id)initEmptyStringWithName:(NSString *)name;
331 - (id)initEmptyString;
332 
333 #pragma mark -
334 #pragma mark Создание и инициализация исключительной ситуации закрытого потока
335 // SCL-20065
336 + (SCTextException *)exceptionWithClosedStream:(SCStream *)stream name:(NSString *)name;
337 + (SCTextException *)exceptionWithClosedStream:(SCStream *)stream;
338 - (id)initWithClosedStream:(SCStream *)stream name:(NSString *)name;
339 - (id)initWithClosedStream:(SCStream *)stream;
340 
341 #pragma mark -
342 #pragma mark Создание и инициализация исключительной ситуации неподдерживаемого класса
343 // SCL-20066
344 + (SCTextException *)exceptionWithUnsupported:(NSString *)unsupported name:(NSString *)name;
345 + (SCTextException *)exceptionWithUnsupported:(NSString *)unsupported;
346 - (id)initWithUnsupported:(NSString *)unsupported name:(NSString *)name;
347 - (id)initWithUnsupported:(NSString *)unsupported;
348 
349 #pragma mark -
350 #pragma mark Создание и инициализация исключительной ситуации ошибки чтения данных из потока
351 // SCL-20067
352 + (SCTextException *)readErrorExceptionWithStream:(SCStream *)stream name:(NSString *)name;
353 + (SCTextException *)readErrorExceptionWithStream:(SCStream *)stream;
354 - (id)initReadErrorWithStream:(SCStream *)stream name:(NSString *)name;
355 - (id)initReadErrorWithStream:(SCStream *)stream;
356 
357 #pragma mark -
358 #pragma mark Создания и инициализация исключительной ситуации пустого пути к текстовому файлу
359 // SCL-20068
360 + (SCTextException *)emptyPathExceptionWithName:(NSString *)name;
361 + (SCTextException *)emptyPathException;
362 - (id)initEmptyPathExceptionWithName:(NSString *)name;
363 - (id)initEmptyPathException;
364 
365 #pragma mark -
366 #pragma mark Создание и инициализация исключительной ситуации нарушения уникальности строк
367 // SCL-20069
368 + (SCTextException *)duplicateExceptionWithName:(NSString *)name string:(NSString *)string index:(SCIndex)index;
369 + (SCTextException *)duplicateExceptionWithString:(NSString *)string index:(SCIndex)index;
370 - (id)initDuplicateWithName:(NSString *)name string:(NSString *)string index:(SCIndex)index;
371 - (id)initDuplicateWithString:(NSString *)string index:(SCIndex)index;
372 
373 #pragma mark -
374 #pragma mark Создание и инициализация исключительной ситуации некорректного сортировщика строк
375 // SCL-20070
376 + (SCTextException *)sorterExceptionWithName:(NSString *)name;
377 + (SCTextException *)sorterException;
378 - (id)initSorterExceptionWithName:(NSString *)name;
379 - (id)initSorterException;
380 
381 #pragma mark -
382 #pragma mark Создание и инициализация исключительной ситуации некорректного выходного потока
383 //SCL-20071
384 + (SCTextException *)exceptionWithOutputStream:(SCStream *)stream name:(NSString *)name;
385 + (SCTextException *)exceptionWithOutputStream:(SCStream *)stream;
386 - (id)initWithOutputStream:(SCStream *)stream name:(NSString *)name;
387 - (id)initWithOutputStream:(SCStream *)stream;
388 
389 #pragma mark -
390 #pragma mark Создание и инициализация исключительной ситуации недопустимого индекса
391 // SCL-20072
392 + (SCTextException *)exceptionWithIndex:(SCIndex)index name:(NSString *)name;
393 + (SCTextException *)exceptionWithIndex:(SCIndex)index;
394 - (id)initWithIndex:(SCIndex)index name:(NSString *)name;
395 - (id)initWithIndex:(SCIndex)index;
396 
397 #pragma mark -
398 #pragma mark Создание и инициализация исключительной ситуации недопустимого диапазона строк
399 // SCL-20073
400 + (SCTextException *)exceptionWithRange:(NSRange)range name:(NSString *)name;
401 + (SCTextException *)exceptionWithRange:(NSRange)range;
402 - (id)initWithRange:(NSRange)range name:(NSString *)name;
403 - (id)initWithRange:(NSRange)range;
404 
405 #pragma mark -
406 #pragma mark Создание и инициализация исключительной ситуации недопустимого списка индексов строк
407 // SCL-20074
408 + (SCTextException *)exceptionWithIndexSet:(NSIndexSet *)indexSet name:(NSString *)name;
409 + (SCTextException *)exceptionWithIndexSet:(NSIndexSet *)indexSet;
410 - (id)initWithIndexSet:(NSIndexSet *)indexSet name:(NSString *)name;
411 - (id)initWithIndexSet:(NSIndexSet *)indexSet;
412 
413 #pragma mark -
414 #pragma mark Создание и инициализация исключительной ситуации несоответствия количества индексов и строк
415 // SCL-20075
416 + (SCTextException *)exceptionWithIndexesCount:(SCULong)icount stringsCount:(SCULong)scount name:(NSString *)name;
417 + (SCTextException *)exceptionWithIndexesCount:(SCULong)icount stringsCount:(SCULong)scount;
418 - (id)initWithIndexesCount:(SCULong)icount stringsCount:(SCULong)scount name:(NSString *)name;
419 - (id)initWithIndexesCount:(SCULong)icount stringsCount:(SCULong)scount;
420 
421 #pragma mark -
422 #pragma mark Создание и инициализация исключительной ситуации пересекающихся диапазонов строк
423 // SCL-20076
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;
428 
429 #pragma mark -
430 #pragma mark Создание и инициализация исключительной ситуации ошибки записи данных в поток
431 // SCL-20077
432 + (SCTextException *)writeErrorExceptionWithStream:(SCStream *)stream name:(NSString *)name;
433 + (SCTextException *)writeErrorExceptionWithStream:(SCStream *)stream;
434 - (id)initWriteErrorWithStream:(SCStream *)stream name:(NSString *)name;
435 - (id)initWriteErrorWithStream:(SCStream *)stream;
436 
437 @end
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