Interface IterativeActivityRunSpecifics
-
- All Superinterfaces:
ImplicitSegmentationResolver
- All Known Subinterfaces:
PlainIterativeActivityRunSpecifics<I>,SearchBasedActivityRunSpecifics<C>
- All Known Implementing Classes:
AsyncUpdateActivityRun,AutoScalingActivityRun,FocusValidityScanPartialRun,ImportActivityRun,IterativeActivityRun,LiveSyncActivityRun,PartialReconciliationActivityRun,PlainIterativeActivityRun,ResourceObjectsReconciliationActivityRun,ScanActivityRun,SearchBasedActivityRun,ShadowCleanupActivityHandler.MyRun,ShadowIntegrityCheckActivityRun,ShadowRefreshActivityHandler.MyActivityRun
public interface IterativeActivityRunSpecifics extends ImplicitSegmentationResolver
This interface summarizes what should an implementor ofIterativeActivityRun(either plain or search-based) provide. Main responsibilities (at this level of abstraction): 1. provides custom code to be executed before/after the real execution (if needed), 2. provides custom code to be executed before/after individual buckets are executed (if needed), 3. provides default reporting configuration, 4. indicates what activity state should be used to keep threshold counters - TODO to be reconsidered, 5. interprets implicit work segmentation configuration. The real "meat" (e.g. query formulation, item processing, etc) is in subtypes, though. This "specifics" functionality is pulled out fromIterativeActivityRunto precisely describe the interface between the generic activity framework and specific activity implementation.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default voidafterBucketProcessing(OperationResult result)Called after bucket is processed.default voidafterRun(OperationResult opResult)Called after the run.default voidbeforeBucketProcessing(OperationResult result)Called before bucket is processed.default voidbeforeRun(OperationResult opResult)Called before the run.@NotNull ActivityReportingCharacteristicscreateReportingCharacteristics()default AbstractWorkSegmentationTyperesolveImplicitSegmentation(@NotNull ImplicitWorkSegmentationType segmentation)Converts `ImplicitWorkSegmentationType` into "real" segmentation configuration.default ActivityStateuseOtherActivityStateForCounters(@NotNull OperationResult result)Should we use activity state other than the state of the current activity when keeping the counters (e.g.
-
-
-
Method Detail
-
beforeRun
default void beforeRun(OperationResult opResult) throws CommonException, ActivityRunException
Called before the run. Note that e.g. for search-based activities the search specification is *not* known at this moment.- Throws:
CommonExceptionActivityRunException
-
afterRun
default void afterRun(OperationResult opResult) throws CommonException, ActivityRunException
Called after the run.- Throws:
CommonExceptionActivityRunException
-
beforeBucketProcessing
default void beforeBucketProcessing(OperationResult result) throws ActivityRunException, CommonException
Called before bucket is processed. (For search-based tasks the search specification is already prepared, including narrowing using bucket.)- Throws:
ActivityRunExceptionCommonException
-
afterBucketProcessing
default void afterBucketProcessing(OperationResult result) throws ActivityRunException, CommonException
Called after bucket is processed.- Throws:
ActivityRunExceptionCommonException
-
createReportingCharacteristics
@NotNull @NotNull ActivityReportingCharacteristics createReportingCharacteristics()
- Returns:
- Reporting characteristics of the activity run. They e.g. provide default values
for
ActivityReportingDefinition.
-
useOtherActivityStateForCounters
@Experimental default ActivityState useOtherActivityStateForCounters(@NotNull @NotNull OperationResult result) throws SchemaException, ObjectNotFoundException
Should we use activity state other than the state of the current activity when keeping the counters (e.g. for thresholds)?
-
resolveImplicitSegmentation
default AbstractWorkSegmentationType resolveImplicitSegmentation(@NotNull @NotNull ImplicitWorkSegmentationType segmentation)
Description copied from interface:ImplicitSegmentationResolverConverts `ImplicitWorkSegmentationType` into "real" segmentation configuration.- Specified by:
resolveImplicitSegmentationin interfaceImplicitSegmentationResolver
-
-