Samond Classes Library 1.2.2-RELEASE build 188
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 - 2017 by Samond Development Corporation. All rights reserved.
7 //
8 
23 #import <scl/SCSorter.h>
24 #import <scl/SCDelegate.h>
25 
26 #pragma mark -
27 #pragma mark Class Constants
28 
37 #define SCCollectionDelegateClass @"SCCollectionDelegate"
38 
39 
40 #pragma mark -
41 #pragma mark Protocol SCCollectionDelegate declaration
42 
56 @optional
57 
58 #pragma mark -
59 #pragma mark Processing Objects
60 
75 - (void)processObject:(id)object collection:(SCCollection *)collection;
76 
77 #pragma mark -
78 #pragma mark Handling Collection Errors
79 
96 - (BOOL)collection:(SCCollection *)collection didDetectException:(SCCollectionException *)exception;
97 
98 #pragma mark -
99 #pragma mark Adding Objects Events Handlers
100 
115 - (void)collection:(SCCollection *)collection willAddObject:(id)object;
116 
129 - (void)collection:(SCCollection *)collection willInsertObject:(id)object atIndex:(SCIndex)index;
130 
143 - (void)collection:(SCCollection *)collection willSetObject:(id)object forKey:(NSString *)key;
144 
157 - (void)collection:(SCCollection *)collection willSetValue:(id)value forKey:(NSString *)key;
158 
169 - (void)collection:(SCCollection *)collection didFinishAddingObject:(id)object;
170 
183 - (void)collection:(SCCollection *)collection didFinishInsertingObject:(id)object atIndex:(SCIndex)index;
184 
197 - (void)collection:(SCCollection *)collection didFinishSettingObject:(id)object forKey:(NSString *)key;
198 
211 - (void)collection:(SCCollection *)collection didFinishSettingValue:(id)value forKey:(NSString *)key;
212 
213 #pragma mark -
214 #pragma mark Removing Objects Events Handlers
215 
228 - (void)willRemoveAllObjectsFromCollection:(SCCollection *)collection;
229 
240 - (void)collection:(SCCollection *)collection willRemoveObjectsOfClassName:(NSString *)name;
241 
252 - (void)collection:(SCCollection *)collection willRemoveObject:(id)object;
253 
264 - (void)collection:(SCCollection *)collection willRemoveObjectAtIndex:(SCIndex)index;
265 
276 - (void)collection:(SCCollection *)collection willRemoveObjectForKey:(NSString *)key;
277 
286 - (void)didFinishRemovingAllObjectsFromCollection:(SCCollection *)collection;
287 
298 - (void)collection:(SCCollection *)collection didFinishRemovingObjectsOfClassName:(NSString *)name;
299 
310 - (void)collection:(SCCollection *)collection didFinishRemovingObject:(id)object;
311 
322 - (void)collection:(SCCollection *)collection didFinishRemovingObjectAtIndex:(SCIndex)index;
323 
334 - (void)collection:(SCCollection *)collection didFinishRemovingObjectForKey:(NSString *)key;
335 
336 #pragma mark -
337 #pragma mark Sorting Objects Events Handlers
338 
355 - (void)collection:(SCCollection *)collection willSortAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
356 
369 - (void)collection:(SCCollection *)collection didFinishSortingAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
370 
371 #pragma mark -
372 #pragma mark Replacing Objects Events Handlers
373 
391 - (void)collection:(SCCollection *)collection willReplaceObjectAtIndex:(SCIndex)index withObject:(id)object;
392 
406 - (void)collection:(SCCollection *)collection willReplaceObjectsInRange:(NSRange)range withCollection:(id)source;
407 
420 - (void)collection:(SCCollection *)collection willReplaceObject:(id)replaced withObject:(id)object;
421 
435 - (void)collection:(SCCollection *)collection didFinishReplacingObjectAtIndex:(SCIndex)index withObject:(id)object;
436 
450 - (void)collection:(SCCollection *)collection
451 didFinishReplacingObjectsInRange:(NSRange)range
452  withCollection:(id)source;
453 
466 - (void)collection:(SCCollection *)collection didFinishReplacingObject:(id)replaced withObject:(id)object;
467 
468 #pragma mark -
469 #pragma mark Copying and Moving Objects Events Handlers
470 
487 - (void)collection:(SCCollection *)collection
488 willExchangeObjectAtIndex:(SCIndex)index
489  withObjectAtIndex:(SCIndex)destination;
490 
503 - (void)collection:(SCCollection *)collection
504 didFinishExchangingObjectAtIndex:(SCIndex)index
505  withObjectAtIndex:(SCIndex)destination;
506 
507 @end
508 
509 #pragma mark -
510 #pragma mark Class SCCollectionDelegate declaration
511 
525 
526 #pragma mark -
527 #pragma mark Processing Objects
528 - (void)processObject:(id)object collection:(SCCollection *)collection;
529 
530 #pragma mark -
531 #pragma mark Handling Collection Errors
532 - (BOOL)collection:(SCCollection *)collection didDetectException:(SCCollectionException *)exception;
533 
534 #pragma mark -
535 #pragma mark Adding Objects Events Handlers
536 - (void)collection:(SCCollection *)collection willAddObject:(id)object;
537 - (void)collection:(SCCollection *)collection willInsertObject:(id)object atIndex:(SCIndex)index;
538 - (void)collection:(SCCollection *)collection willSetObject:(id)object forKey:(NSString *)key;
539 - (void)collection:(SCCollection *)collection willSetValue:(id)value forKey:(NSString *)key;
540 - (void)collection:(SCCollection *)collection didFinishAddingObject:(id)object;
541 - (void)collection:(SCCollection *)collection didFinishInsertingObject:(id)object atIndex:(SCIndex)index;
542 - (void)collection:(SCCollection *)collection didFinishSettingObject:(id)object forKey:(NSString *)key;
543 - (void)collection:(SCCollection *)collection didFinishSettingValue:(id)value forKey:(NSString *)key;
544 
545 #pragma mark -
546 #pragma mark Removing Objects Events Handlers
547 - (void)willRemoveAllObjectsFromCollection:(SCCollection *)collection;
548 - (void)collection:(SCCollection *)collection willRemoveObjectsOfClassName:(NSString *)name;
549 - (void)collection:(SCCollection *)collection willRemoveObject:(id)object;
550 - (void)collection:(SCCollection *)collection willRemoveObjectAtIndex:(SCIndex)index;
551 - (void)collection:(SCCollection *)collection willRemoveObjectForKey:(NSString *)key;
552 - (void)didFinishRemovingAllObjectsFromCollection:(SCCollection *)collection;
553 - (void)collection:(SCCollection *)collection didFinishRemovingObjectsOfClassName:(NSString *)name;
554 - (void)collection:(SCCollection *)collection didFinishRemovingObject:(id)object;
555 - (void)collection:(SCCollection *)collection didFinishRemovingObjectAtIndex:(SCIndex)index;
556 - (void)collection:(SCCollection *)collection didFinishRemovingObjectForKey:(NSString *)key;
557 
558 #pragma mark -
559 #pragma mark Sorting Objects Events Handlers
560 - (void)collection:(SCCollection *)collection willSortAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
561 - (void)collection:(SCCollection *)collection didFinishSortingAscending:(BOOL)ascending sorter:(id<SCSorter>)sorter;
562 
563 #pragma mark -
564 #pragma mark Replacing Objects Events Handlers
565 - (void)collection:(SCCollection *)collection willReplaceObjectAtIndex:(SCIndex)index withObject:(id)object;
566 - (void)collection:(SCCollection *)collection willReplaceObjectsInRange:(NSRange)range withCollection:(id)source;
567 - (void)collection:(SCCollection *)collection willReplaceObject:(id)replaced withObject:(id)object;
568 - (void)collection:(SCCollection *)collection didFinishReplacingObjectAtIndex:(SCIndex)index withObject:(id)object;
569 - (void)collection:(SCCollection *)collection
570  didFinishReplacingObjectsInRange:(NSRange)range
571  withCollection:(id)source;
572 - (void)collection:(SCCollection *)collection didFinishReplacingObject:(id)replaced withObject:(id)object;
573 
574 #pragma mark -
575 #pragma mark Copying and Moving Objects Events Handlers
576 - (void)collection:(SCCollection *)collection
577  willExchangeObjectAtIndex:(SCIndex)index
578  withObjectAtIndex:(SCIndex)destination;
579 - (void)collection:(SCCollection *)collection
580  didFinishExchangingObjectAtIndex:(SCIndex)index
581  withObjectAtIndex:(SCIndex)destination;
582 
583 @end
Class SCCollectionException header file.
Class SCDelegate header file.
Abstract implementation of the protocol SCSorter.
Definition: SCSorter.h:136
Protocol and class SCSorter header file.
Parent class of all library delegate classes.
Definition: SCDelegate.h:53
Collections delegate class.
Definition: SCCollectionDelegate.h:55
Collections events handling class.
Definition: SCCollectionDelegate.h:524
Abstract collections class.
Definition: SCCollection.h:101
NSUInteger SCIndex
Definition: SCCollectionProtocols.h:50
Exception class SCCollectionException.
Definition: SCCollectionException.h:336