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 fromIterativeActivityRun
to 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 void
afterBucketProcessing(OperationResult result)
Called after bucket is processed.default void
afterRun(OperationResult result)
Called after the run.default void
beforeBucketProcessing(OperationResult result)
Called before bucket is processed.default void
beforeRun(OperationResult result)
Called before the run.@NotNull ActivityReportingCharacteristics
createReportingCharacteristics()
default AbstractWorkSegmentationType
resolveImplicitSegmentation(@NotNull ImplicitWorkSegmentationType segmentation)
Converts `ImplicitWorkSegmentationType` into "real" segmentation configuration.default ActivityState
useOtherActivityStateForCounters(@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 result) 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:
CommonException
ActivityRunException
-
afterRun
default void afterRun(OperationResult result) throws CommonException, ActivityRunException
Called after the run.- Throws:
CommonException
ActivityRunException
-
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:
ActivityRunException
CommonException
-
afterBucketProcessing
default void afterBucketProcessing(OperationResult result) throws ActivityRunException, CommonException
Called after bucket is processed.- Throws:
ActivityRunException
CommonException
-
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:ImplicitSegmentationResolver
Converts `ImplicitWorkSegmentationType` into "real" segmentation configuration.- Specified by:
resolveImplicitSegmentation
in interfaceImplicitSegmentationResolver
-
-