Class SearchBasedActivityRun<C extends Containerable,WD extends WorkDefinition,AH extends ActivityHandler<WD,AH>,WS extends AbstractActivityWorkStateType>

All Implemented Interfaces:
ImplicitSegmentationResolver, IterativeActivityRunSpecifics, SearchBasedActivityRunSpecifics<C>, ExecutionSupport, DebugDumpable
Direct Known Subclasses:
AbstractImportActivityRun, AutoScalingActivityRun, PartialReconciliationActivityRun, ScanActivityRun, ShadowCleanupActivityHandler.MyRun, ShadowIntegrityCheckActivityRun

public abstract class SearchBasedActivityRun<C extends Containerable,WD extends WorkDefinition,AH extends ActivityHandler<WD,AH>,WS extends AbstractActivityWorkStateType> extends IterativeActivityRun<C,WD,AH,WS> implements SearchBasedActivityRunSpecifics<C>
A run of a given search-iterative activity. Responsibilities: 1. Bucketing, i.e. orchestrating getting and processing buckets. See IterativeActivityRun.doRun(OperationResult). 2. Item source preparation = preparation of search specification (prepareSearchSpecificationAndSearchableItemSource(OperationResult)). This includes a. converting the configured object set to search spec (or obtaining the spec from the specifics object - SearchBasedActivityRunSpecifics; b. customizing the spec by calling `customizeXXX` methods in the specifics object; c. narrowing the query for bucketing and error handling. 3. "Expected total" determination - see IterativeActivityRun.setExpectedTotal(OperationResult) and IterativeActivityRun.setExpectedInCurrentBucket(OperationResult). 4. Pre-processing of items found - see processItem(ItemProcessingRequest, RunningTask, OperationResult): a. checking for already-processed objects (OIDs seen), b. applying additional filter (currently used for retrying failed objects), c. applying additional pre-processing to objects (currently used for retrying failed objects),