Samond Classes Library 1.2.6-STABLE build 219
SCCollectionDelegate.h
Go to the documentation of this file.
1 //
2 // SCCollectionDelegate.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 11.05.12.
6 // Copyright (c) 2007 - 2018 by Samond Development Corporation. All rights reserved.
7 //
8 
22 #import <Foundation/Foundation.h>
23 #import <scl/SCCollection.h>
25 #import <scl/SCDelegate.h>
26 #import <scl/SCSorter.h>
27 
28 #pragma mark -
29 #pragma mark Class Constants
30 
39 #define SCCollectionDelegateClass @"SCCollectionDelegate"
40 
41 
42 #pragma mark -
43 #pragma mark Protocol SCCollectionDelegate declaration
44 
58 @optional
59 
60 #pragma mark -
61 #pragma mark Processing Objects
62 
77 - (void)processObject:(id)object collection:(SCCollection *)collection;
78 
79 #pragma mark -
80 #pragma mark Handling Collection Errors
81 
98 - (BOOL)collection:(SCCollection *)collection didDetectException:(SCCollectionException *)exception;
99 
100 #pragma mark -
101 #pragma mark Adding Objects Events Handlers
102 
117 - (void)collection:(SCCollection *)collection willAddObject:(id)object;
118 
131 - (void)collection:(SCCollection *)collection willInsertObject:(id)object atIndex:(SCIndex)index;
132 
145 - (void)collection:(SCCollection *)collection willSetObject:(id)object forKey:(NSString *)key;
146 
159 - (void)collection:(SCCollection *)collection willSetValue:(id)value forKey:(NSString *)key;
160 
171 - (void)collection:(SCCollection *)collection didFinishAddingObject:(id)object;
172 
185 - (void)collection:(SCCollection *)collection didFinishInsertingObject:(id)object atIndex:(SCIndex)index;
186 
199 - (void)collection:(SCCollection *)collection didFinishSettingObject:(id)object forKey:(NSString *)key;
200 
213 - (void)collection:(SCCollection *)collection didFinishSettingValue:(id)value forKey:(NSString *)key;
214 
215 #pragma mark -
216 #pragma mark Removing Objects Events Handlers
217 
230 - (void)willRemoveAllObjectsFromCollection:(SCCollection *)collection;
231 
242 - (void)collection:(SCCollection *)collection willRemoveObjectsOfClassName:(NSString *)name;
243 
254 - (void)collection:(SCCollection *)collection willRemoveObject:(id)object;
255 
266 - (void)collection:(SCCollection *)collection willRemoveObjectAtIndex:(SCIndex)index;
267 
278 - (void)collection:(SCCollection *)collection willRemoveObjectForKey:(NSString *)key;
279 
288 - (void)didFinishRemovingAllObjectsFromCollection:(SCCollection *)collection;
289 
300 - (void)collection:(SCCollection *)collection didFinishRemovingObjectsOfClassName:(NSString *)name;
301 
312 - (void)collection:(SCCollection *)collection didFinishRemovingObject:(id)object;
313 
324 - (void)collection:(SCCollection *)collection didFinishRemovingObjectAtIndex:(SCIndex)index;
325 
336 - (void)collection:(SCCollection *)collection didFinishRemovingObjectForKey:(NSString *)key;
337 
338 #pragma mark -
339 #pragma mark Sorting Objects Events Handlers
340 
357 - (void)collection:(SCCollection *)collection willSortAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
358 
371 - (void)collection:(SCCollection *)collection didFinishSortingAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
372 
373 #pragma mark -
374 #pragma mark Replacing Objects Events Handlers
375 
393 - (void)collection:(SCCollection *)collection willReplaceObjectAtIndex:(SCIndex)index withObject:(id)object;
394 
408 - (void)collection:(SCCollection *)collection willReplaceObjectsInRange:(NSRange)range withCollection:(id)source;
409 
422 - (void)collection:(SCCollection *)collection willReplaceObject:(id)replaced withObject:(id)object;
423 
437 - (void)collection:(SCCollection *)collection didFinishReplacingObjectAtIndex:(SCIndex)index withObject:(id)object;
438 
452 - (void)collection:(SCCollection *)collection
453 didFinishReplacingObjectsInRange:(NSRange)range
454  withCollection:(id)source;
455 
468 - (void)collection:(SCCollection *)collection didFinishReplacingObject:(id)replaced withObject:(id)object;
469 
470 #pragma mark -
471 #pragma mark Copying and Moving Objects Events Handlers
472 
489 - (void)collection:(SCCollection *)collection
490 willExchangeObjectAtIndex:(SCIndex)index
491  withObjectAtIndex:(SCIndex)destination;
492 
505 - (void)collection:(SCCollection *)collection
506 didFinishExchangingObjectAtIndex:(SCIndex)index
507  withObjectAtIndex:(SCIndex)destination;
508 
509 @end
510 
511 #pragma mark -
512 #pragma mark Class SCCollectionDelegate declaration
513 
527 
528 #pragma mark -
529 #pragma mark Processing Objects
530 - (void)processObject:(id)object collection:(SCCollection *)collection;
531 
532 #pragma mark -
533 #pragma mark Handling Collection Errors
534 - (BOOL)collection:(SCCollection *)collection didDetectException:(SCCollectionException *)exception;
535 
536 #pragma mark -
537 #pragma mark Adding Objects Events Handlers
538 - (void)collection:(SCCollection *)collection willAddObject:(id)object;
539 - (void)collection:(SCCollection *)collection willInsertObject:(id)object atIndex:(SCIndex)index;
540 - (void)collection:(SCCollection *)collection willSetObject:(id)object forKey:(NSString *)key;
541 - (void)collection:(SCCollection *)collection willSetValue:(id)value forKey:(NSString *)key;
542 - (void)collection:(SCCollection *)collection didFinishAddingObject:(id)object;
543 - (void)collection:(SCCollection *)collection didFinishInsertingObject:(id)object atIndex:(SCIndex)index;
544 - (void)collection:(SCCollection *)collection didFinishSettingObject:(id)object forKey:(NSString *)key;
545 - (void)collection:(SCCollection *)collection didFinishSettingValue:(id)value forKey:(NSString *)key;
546 
547 #pragma mark -
548 #pragma mark Removing Objects Events Handlers
549 - (void)willRemoveAllObjectsFromCollection:(SCCollection *)collection;
550 - (void)collection:(SCCollection *)collection willRemoveObjectsOfClassName:(NSString *)name;
551 - (void)collection:(SCCollection *)collection willRemoveObject:(id)object;
552 - (void)collection:(SCCollection *)collection willRemoveObjectAtIndex:(SCIndex)index;
553 - (void)collection:(SCCollection *)collection willRemoveObjectForKey:(NSString *)key;
554 - (void)didFinishRemovingAllObjectsFromCollection:(SCCollection *)collection;
555 - (void)collection:(SCCollection *)collection didFinishRemovingObjectsOfClassName:(NSString *)name;
556 - (void)collection:(SCCollection *)collection didFinishRemovingObject:(id)object;
557 - (void)collection:(SCCollection *)collection didFinishRemovingObjectAtIndex:(SCIndex)index;
558 - (void)collection:(SCCollection *)collection didFinishRemovingObjectForKey:(NSString *)key;
559 
560 #pragma mark -
561 #pragma mark Sorting Objects Events Handlers
562 - (void)collection:(SCCollection *)collection willSortAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
563 - (void)collection:(SCCollection *)collection didFinishSortingAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
564 
565 #pragma mark -
566 #pragma mark Replacing Objects Events Handlers
567 - (void)collection:(SCCollection *)collection willReplaceObjectAtIndex:(SCIndex)index withObject:(id)object;
568 - (void)collection:(SCCollection *)collection willReplaceObjectsInRange:(NSRange)range withCollection:(id)source;
569 - (void)collection:(SCCollection *)collection willReplaceObject:(id)replaced withObject:(id)object;
570 - (void)collection:(SCCollection *)collection didFinishReplacingObjectAtIndex:(SCIndex)index withObject:(id)object;
571 - (void)collection:(SCCollection *)collection
572  didFinishReplacingObjectsInRange:(NSRange)range
573  withCollection:(id)source;
574 - (void)collection:(SCCollection *)collection didFinishReplacingObject:(id)replaced withObject:(id)object;
575 
576 #pragma mark -
577 #pragma mark Copying and Moving Objects Events Handlers
578 - (void)collection:(SCCollection *)collection
579  willExchangeObjectAtIndex:(SCIndex)index
580  withObjectAtIndex:(SCIndex)destination;
581 - (void)collection:(SCCollection *)collection
582  didFinishExchangingObjectAtIndex:(SCIndex)index
583  withObjectAtIndex:(SCIndex)destination;
584 
585 @end
Class SCCollectionException header file.
Class SCDelegate header file.
Abstract implementation of the protocol SCSorter.
Definition: SCSorter.h:138
Protocol and class SCSorter header file.
Parent class of all library delegate classes.
Definition: SCDelegate.h:54
Collections delegate class.
Definition: SCCollectionDelegate.h:57
Collections events handling class.
Definition: SCCollectionDelegate.h:526
Abstract collections class.
Definition: SCCollection.h:98
Class SCCollection header file.
NSUInteger SCIndex
Definition: SCCollectionProtocols.h:53
Exception class SCCollectionException.
Definition: SCCollectionException.h:337