Class ItemProcessingRequest<I>

  • All Implemented Interfaces:
    AcknowledgementSink
    Direct Known Subclasses:
    ObjectProcessingRequest, SyncItemProcessingRequest

    public abstract class ItemProcessingRequest<I>
    extends Object
    implements AcknowledgementSink

    Holds an item that is scheduled for processing.

    Besides the item itself it provides so called correlation value that is used to correctly order requests that relate to the same midPoint or resource object - for example, two async changes related to a given account.

    • Field Detail

      • item

        @NotNull
        protected final I item
      • identifier

        @Experimental
        @NotNull
        protected final @NotNull String identifier
        Unique identifier of this request. Not to be confused with requestIdentifier used for auditing purposes! Most probably it will be replaced by something different.
    • Constructor Detail

      • ItemProcessingRequest

        public ItemProcessingRequest​(@NotNull
                                     I item,
                                     @NotNull
                                     @NotNull AbstractIterativeItemProcessor<I,​?,​?,​?,​?> itemProcessor)
    • Method Detail

      • getItem

        @NotNull
        public I getItem()
      • getOperationExecutionRecordingTarget

        public abstract OperationExecutionRecorderForTasks.Target getOperationExecutionRecordingTarget()
        Returns:
        Object to which we will write an operation execution record (plus auxiliary information).
      • getObjectOidToRecordRetryTrigger

        public abstract String getObjectOidToRecordRetryTrigger()
        Returns:
        OID of object to which we put a trigger causing operation retry (if known)
      • getIterationItemInformation

        @NotNull
        public abstract @NotNull IterationItemInformation getIterationItemInformation()
      • getPrismContext

        protected PrismContext getPrismContext()
      • getRootTaskOid

        @NotNull
        protected @NotNull String getRootTaskOid()
      • getType

        @NotNull
        protected @NotNull QName getType​(PrismObject<?> object)
      • getItemOid

        @Nullable
        public abstract @Nullable String getItemOid()
        OID of the object connected to the item being processed (usually the object itself or related shadow). TODO reconsider
      • getSynchronizationSituationOnProcessingStart

        @Nullable
        public abstract @Nullable SynchronizationSituationType getSynchronizationSituationOnProcessingStart()
        TODO reconsider
      • getIdentifier

        public String getIdentifier()