Samond Classes Library 1.2.0-RELEASE build 166
SCCollectionException.h
Go to the documentation of this file.
1 //
2 // SCCollectionException.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 12.04.12.
6 // Copyright (c) 2007 - 2017 by Samond Development Corporation. All rights reserved.
7 //
8 
21 #import <scl/SCException.h>
22 #import <scl/SCCollection.h>
23 
24 #pragma mark -
25 #pragma mark Константы класса
26 
30 #define SCCollectionExceptionClass @"SCCollectionException"
31 #define SCCollectionErrorName @"SCCollection"
33 
35 #pragma mark -
36 #pragma mark Константы ошибок
37 
41 #define SCCollectionEIDUnspecified @"SCL-20040"
42 #define SCCollectionEIDSource @"SCL-20041"
44 #define SCCollectionEIDType @"SCL-20042"
46 #define SCCollectionEIDReadOnly @"SCL-20043"
48 #define SCCollectionEIDItem @"SCL-20044"
50 #define SCCollectionEIDObject @"SCL-20045"
52 #define SCCollectionEIDUnsupported @"SCL-20046"
54 #define SCCollectionEIDUnknown @"SCL-20047"
56 #define SCCollectionEIDNotComparable @"SCL-20048"
58 #define SCCollectionEIDNotSortable @"SCL-20049"
60 #define SCCollectionEIDSorter @"SCL-20050"
62 #define SCCollectionEIDUnexpected @"SCL-20051"
64 #define SCCollectionEIDIndex @"SCL-20052"
66 #define SCCollectionEIDRange @"SCL-20053"
68 #define SCCollectionEIDIndexSet @"SCL-20054"
70 #define SCCollectionEIDIndexSetCount @"SCL-20055"
72 #define SCCollectionEIDKey @"SCL-20056"
74 #define SCCollectionEIDKeysCount @"SCL-20057"
76 #define SCCollectionEIDValue @"SCL-20058"
78 
80 #pragma mark -
81 #pragma mark Типы поддержки класса
82 
134 };
135 
147 
148 #pragma mark -
149 
203  NSString *fCollectionName; // Название коллекции
204  NSString *fTypeName; // Название неподдерживаемого типа коллекции
205  NSString *fUnsupported; // Название неподдерживаемого класса
206  NSString *fUnknown; // Название неизвестного класса
207  NSString *fUnexpected; // Название неожиданного класса
208  NSString *fExpected; // Название ожидавшегося класса
209  SCIndex fIndex; // Недопустимый индекс
210  NSRange fRange; // Недопустимый диапазон объектов
211  NSIndexSet *fIndexSet; // Недопустимый список индексов
212  SCULong fIndexesCount; // Количество индексов в списке
213  SCULong fObjectsCount; // Количество объектов
214  NSString *fKey; // Некорректный ключ объекта
215  SCULong fKeysCount; // Количество ключей
216 }
217 #pragma mark -
218 #pragma mark Свойства экземпляра класса
219 
228 @property (nonatomic, retain, readonly, getter=collectionName) NSString *collectionName;
229 
234 @property (nonatomic, retain, readonly, getter=typeName) NSString *typeName;
235 
240 @property (nonatomic, retain, readonly, getter=unsupported) NSString *unsupported;
241 
246 @property (nonatomic, retain, readonly, getter=unknown) NSString *unknown;
247 
252 @property (nonatomic, retain, readonly, getter=unexpected) NSString *unexpected;
253 
258 @property (nonatomic, retain, readonly, getter=expected) NSString *expected;
259 
264 @property (nonatomic, assign, readonly, getter=index) SCIndex index;
265 
270 @property (nonatomic, assign, readonly, getter=range) NSRange range;
271 
276 @property (nonatomic, retain, readonly, getter=indexSet) NSIndexSet *indexSet;
277 
282 @property (nonatomic, assign, readonly, getter=indexesCount) SCULong indexesCount;
283 
288 @property (nonatomic, assign, readonly, getter=objectsCount) SCULong objectsCount;
289 
294 @property (nonatomic, retain, readonly, getter=key) NSString *key;
295 
300 @property (nonatomic, assign, readonly, getter=keysCount) SCULong keysCount;
301 
304 #pragma mark -
305 #pragma mark Доступ к свойствам экземпляра класса
306 - (NSString *)collectionName;
307 - (NSString *)typeName;
308 - (NSString *)unsupported;
309 - (NSString *)unknown;
310 - (NSString *)unexpected;
311 - (NSString *)expected;
312 - (SCIndex)index;
313 - (NSRange)range;
314 - (NSIndexSet *)indexSet;
315 - (SCULong)indexesCount;
316 - (SCULong)objectsCount;
317 - (NSString *)key;
318 - (SCULong)keysCount;
319 
320 #pragma mark -
321 #pragma mark Создание и инициализация общих видов исключительных ситуаций
322 + (SCCollectionException *)exceptionWithName:(NSString *)name
323  reason:(NSString *)reason
324  code:(SCInteger)code
325  eid:(NSString *)eid;
326 + (SCCollectionException *)exceptionWithReason:(NSString *)reason code:(SCInteger)code eid:(NSString *)eid;
327 + (SCCollectionException *)exceptionWithName:(NSString *)name;
328 + (SCCollectionException *)exception;
329 - (id)initWithName:(NSString *)name reason:(NSString *)reason code:(SCInteger)code eid:(NSString *)eid;
330 - (id)initWithReason:(NSString *)reason code:(SCInteger)code eid:(NSString *)eid;
331 - (id)initWithName:(NSString *)name;
332 - (id)init;
333 
334 #pragma mark -
335 #pragma mark Создание и инициализация исключительной ситуации несуществующей исходной коллекции
336 + (SCCollectionException *)exceptionWithSource;
337 - (id)initWithSource;
338 
339 #pragma mark -
340 #pragma mark Создание и инициализация исключительной ситуации неподдерживаемого типа коллекции
341 + (SCCollectionException *)exceptionWithUnsupportedType:(NSString *)type;
342 - (id)initWithUnsupportedType:(NSString *)type;
343 
344 #pragma mark -
345 #pragma mark Создание и инициализация исключительной ситуации нарушения режима только для чтения
346 + (SCCollectionException *)exceptionWithReadOnlyType:(NSString *)type name:(NSString *)name;
347 + (SCCollectionException *)exceptionWithReadOnlyType:(NSString *)type;
348 - (id)initWithReadOnlyType:(NSString *)type name:(NSString *)name;
349 - (id)initWithReadOnlyType:(NSString *)type;
350 
351 #pragma mark -
352 #pragma mark Создание и инициализация исключительной ситуации добавления нулевого указателя
353 + (SCCollectionException *)exceptionWithItemType:(NSString *)type name:(NSString *)name;
354 + (SCCollectionException *)exceptionWithItemType:(NSString *)type;
355 - (id)initWithItemType:(NSString *)type name:(NSString *)name;
356 - (id)initWithItemType:(NSString *)type;
357 
358 #pragma mark -
359 #pragma mark Создание и инициализация исключительной ситуации несуществующего исходного объекта
360 + (SCCollectionException *)exceptionWithObject;
361 - (id)initWithObject;
362 
363 #pragma mark -
364 #pragma mark Создание и инициализация исключительной ситуации неподдерживаемого класса
365 + (SCCollectionException *)exceptionWithUnsupported:(NSString *)cname type:(NSString *)type name:(NSString *)name;
366 + (SCCollectionException *)exceptionWithUnsupported:(NSString *)cname type:(NSString *)type;
367 - (id)initWithUnsupported:(NSString *)cname type:(NSString *)type name:(NSString *)name;
368 - (id)initWithUnsupported:(NSString *)cname type:(NSString *)type;
369 
370 #pragma mark -
371 #pragma mark Создание и инициализация исключительной ситуации неизвестного класса
372 + (SCCollectionException *)exceptionWithUnknown:(NSString *)cname type:(NSString *)type name:(NSString *)name;
373 + (SCCollectionException *)exceptionWithUnknown:(NSString *)cname type:(NSString *)type;
374 - (id)initWithUnknown:(NSString *)cname type:(NSString *)type name:(NSString *)name;
375 - (id)initWithUnknown:(NSString *)cname type:(NSString *)type;
376 
377 #pragma mark -
378 #pragma mark Создание и инициализация исключительной ситуации несравнимых объектов
379 + (SCCollectionException *)exceptionWithNotComparableType:(NSString *)type name:(NSString *)name;
380 + (SCCollectionException *)exceptionWithNotComparableType:(NSString *)type;
381 - (id)initWithNotComparableType:(NSString *)type name:(NSString *)name;
382 - (id)initWithNotComparableType:(NSString *)type;
383 
384 #pragma mark -
385 #pragma mark Создание и инициализация исключительной ситуации несортируемой коллекции
386 + (SCCollectionException *)exceptionWithNotSortableType:(NSString *)type name:(NSString *)name;
387 + (SCCollectionException *)exceptionWithNotSortableType:(NSString *)type;
388 - (id)initWithNotSortableType:(NSString *)type name:(NSString *)name;
389 - (id)initWithNotSortableType:(NSString *)type;
390 
391 #pragma mark -
392 #pragma mark Создание и инициализация исключительной ситуации сортировщика данных
393 + (SCCollectionException *)exceptionWithSorterType:(NSString *)type name:(NSString *)name;
394 + (SCCollectionException *)exceptionWithSorterType:(NSString *)type;
395 - (id)initWithSorterType:(NSString *)type name:(NSString *)name;
396 - (id)initWithSorterType:(NSString *)type;
397 
398 #pragma mark -
399 #pragma mark Создание и инициализация исключительной ситуации неожиданного класса
400 + (SCCollectionException *)exceptionWithUnexpected:(NSString *)unexpected
401  expected:(NSString *)expected
402  type:(NSString *)type
403  name:(NSString *)name;
404 + (SCCollectionException *)exceptionWithUnexpected:(NSString *)unexpected
405  expected:(NSString *)expected
406  type:(NSString *)type;
407 - (id)initWithUnexpected:(NSString *)unexpected
408  expected:(NSString *)expected
409  type:(NSString *)type
410  name:(NSString *)name;
411 - (id)initWithUnexpected:(NSString *)unexpected expected:(NSString *)expected type:(NSString *)type;
412 
413 #pragma mark -
414 #pragma mark Создание и инициализация исключительной ситуации недопустимого индекса
415 + (SCCollectionException *)exceptionWithIndex:(SCIndex)index name:(NSString *)name;
416 + (SCCollectionException *)exceptionWithIndex:(SCIndex)index;
417 - (id)initWithIndex:(SCIndex)index name:(NSString *)name;
418 - (id)initWithIndex:(SCIndex)index;
419 
420 #pragma mark -
421 #pragma mark Создание и инициализация исключительной ситуации недопустимого диапазона объектов
422 + (SCCollectionException *)exceptionWithRange:(NSRange)range name:(NSString *)name;
423 + (SCCollectionException *)exceptionWithRange:(NSRange)range;
424 - (id)initWithRange:(NSRange)range name:(NSString *)name;
425 - (id)initWithRange:(NSRange)range;
426 
427 #pragma mark -
428 #pragma mark Создание и инициализация исключительной ситуации недопустимого списка индексов
429 + (SCCollectionException *)exceptionWithIndexSet:(NSIndexSet *)indexSet name:(NSString *)name;
430 + (SCCollectionException *)exceptionWithIndexSet:(NSIndexSet *)indexSet;
431 - (id)initWithIndexSet:(NSIndexSet *)indexSet name:(NSString *)name;
432 - (id)initWithIndexSet:(NSIndexSet *)indexSet;
433 
434 #pragma mark -
435 #pragma mark Создание и инициализация исключительной ситуации несоответствия количества индексов и объектов
436 + (SCCollectionException *)exceptionWithIndexesCount:(SCULong)indexes objectsCount:(SCULong)objects;
437 - (id)initWithIndexesCount:(SCULong)indexes objectsCount:(SCULong)objects;
438 
439 #pragma mark -
440 #pragma mark Создание и инициализация исключительной ситуации некорректного ключа объекта
441 + (SCCollectionException *)exceptionWithKey:(NSString *)key name:(NSString *)name;
442 + (SCCollectionException *)exceptionWithKey:(NSString *)key;
443 - (id)initWithKey:(NSString *)key name:(NSString *)name;
444 - (id)initWithKey:(NSString *)key;
445 
446 #pragma mark -
447 #pragma mark Создание и инициализация исключительной ситуации несоответствия количества ключей и объектов
448 + (SCCollectionException *)exceptionWithKeysCount:(SCULong)keys objectsCount:(SCULong)objects;
449 - (id)initWithKeysCount:(SCULong)keys objectsCount:(SCULong)objects;
450 
451 #pragma mark -
452 #pragma mark Создание и инициализация исключительной ситуации пустого значения
453 + (SCCollectionException *)exceptionValueForKey:(NSString *)key name:(NSString *)name;
454 + (SCCollectionException *)exceptionValueForKey:(NSString *)key;
455 - (id)initValueForKey:(NSString *)key name:(NSString *)name;
456 - (id)initValueForKey:(NSString *)key;
457 
458 @end
uint64_t SCULong
Definition: SCTypes.h:78
Collection does not supports sorting.
Definition: SCCollectionException.h:114
SCULong SCIndex
Index data type.
Definition: SCTypes.h:240
Unspecified collection error.
Definition: SCCollectionException.h:96
NSString * typeName
Definition: SCCollectionException.h:234
int32_t SCInteger
Definition: SCTypes.h:48
Incorrect index set.
Definition: SCCollectionException.h:124
NSString * expected
Definition: SCCollectionException.h:258
SCULong objectsCount
Definition: SCCollectionException.h:288
Empty value.
Definition: SCCollectionException.h:132
Number of indexes does not match number of objects.
Definition: SCCollectionException.h:126
NSRange range
Definition: SCCollectionException.h:270
Incorrect object key.
Definition: SCCollectionException.h:128
SCIndex index
Definition: SCCollectionException.h:264
Parent class of all library exceptions.
Definition: SCException.h:52
enum _SCCollectionError SCCollectionError
Collection errors data type.
Definition: SCCollectionException.h:146
Incorrect data sorter.
Definition: SCCollectionException.h:116
Collection is read only.
Definition: SCCollectionException.h:102
NSIndexSet * indexSet
Definition: SCCollectionException.h:276
Unknown class.
Definition: SCCollectionException.h:110
NSString * unknown
Definition: SCCollectionException.h:246
Adding a null pointer.
Definition: SCCollectionException.h:104
Unsupported collection type.
Definition: SCCollectionException.h:100
Incorrect object index.
Definition: SCCollectionException.h:120
Incomparable collection object.
Definition: SCCollectionException.h:112
SCULong keysCount
Definition: SCCollectionException.h:300
_SCCollectionError
Definition: SCCollectionException.h:95
Source object does not exists.
Definition: SCCollectionException.h:106
NSString * collectionName
Definition: SCCollectionException.h:228
NSString * unexpected
Definition: SCCollectionException.h:252
Source collection does not exists.
Definition: SCCollectionException.h:98
Unexpected class.
Definition: SCCollectionException.h:118
NSString * key
Definition: SCCollectionException.h:294
Unsupported class.
Definition: SCCollectionException.h:108
Number of keys does not match number of objects.
Definition: SCCollectionException.h:130
Incorrect objects range.
Definition: SCCollectionException.h:122
Exception class SCCollectionException.
Definition: SCCollectionException.h:202
NSString * unsupported
Definition: SCCollectionException.h:240
SCULong indexesCount
Definition: SCCollectionException.h:282