Class AbstractIterativeItemProcessor<I,TH extends AbstractTaskHandler<TH,TE>,TE extends AbstractTaskExecution<TH,TE>,PE extends AbstractIterativeTaskPartExecution<I,TH,TE,PE,IP>,IP extends AbstractIterativeItemProcessor<I,TH,TE,PE,IP>>
- java.lang.Object
-
- com.evolveum.midpoint.repo.common.task.AbstractIterativeItemProcessor<I,TH,TE,PE,IP>
-
- Direct Known Subclasses:
AbstractSearchIterativeItemProcessor
,AsyncUpdateTaskHandler.PartExecution.ItemProcessor
,LiveSyncTaskHandler.PartExecution.ItemProcessor
public abstract class AbstractIterativeItemProcessor<I,TH extends AbstractTaskHandler<TH,TE>,TE extends AbstractTaskExecution<TH,TE>,PE extends AbstractIterativeTaskPartExecution<I,TH,TE,PE,IP>,IP extends AbstractIterativeItemProcessor<I,TH,TE,PE,IP>> extends Object
Processes a single item, typically a prism object or a synchronization event. Does *not* care about auxiliary actions, like statistics keeping, error handling, logging, profiling, and so on. All of this is handled byItemProcessingGatekeeper
class. Also, should not keep much state related to the processing like the overall statistics. This state should be maintained by related part execution object.
-
-
Field Summary
Fields Modifier and Type Field Description protected @NotNull Trace
logger
protected PE
partExecution
Execution of the containing task part.protected TE
taskExecution
Execution of the containing task.protected TH
taskHandler
Handler of the containing task.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractIterativeItemProcessor(PE partExecution)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description @NotNull String
createItemProcessingRequestIdentifier()
TE
getTaskExecution()
abstract boolean
process(ItemProcessingRequest<I> request, RunningTask workerTask, OperationResult parentResult)
Does the "pure" processing, free of any reporting, error handling, tracing, and similar issues.
-
-
-
Field Detail
-
partExecution
@NotNull protected final PE extends AbstractIterativeTaskPartExecution<I,TH,TE,PE,IP> partExecution
Execution of the containing task part.
-
taskExecution
@NotNull protected final TE extends AbstractTaskExecution<TH,TE> taskExecution
Execution of the containing task.
-
taskHandler
@NotNull protected final TH extends AbstractTaskHandler<TH,TE> taskHandler
Handler of the containing task.
-
logger
@NotNull protected final @NotNull Trace logger
-
-
Constructor Detail
-
AbstractIterativeItemProcessor
protected AbstractIterativeItemProcessor(@NotNull PE partExecution)
-
-
Method Detail
-
process
public abstract boolean process(ItemProcessingRequest<I> request, RunningTask workerTask, OperationResult parentResult) throws CommonException, PreconditionViolationException
Does the "pure" processing, free of any reporting, error handling, tracing, and similar issues.
-
getTaskExecution
@NotNull public TE getTaskExecution()
-
createItemProcessingRequestIdentifier
@Experimental @NotNull public @NotNull String createItemProcessingRequestIdentifier()
-
-