Interface SynchronizationEvent
-
- All Superinterfaces:
AcknowledgementSink
,Comparable<SynchronizationEvent>
,DebugDumpable
- All Known Subinterfaces:
AsyncUpdateEvent
,LiveSyncEvent
public interface SynchronizationEvent extends AcknowledgementSink, DebugDumpable, Comparable<SynchronizationEvent>
Represents a synchronization change event (obtained typically by live synchronization or asynchronous update) that needs to be processed. It is comparable on the sequential number.
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ResourceObjectShadowChangeDescription
getChangeDescription()
The description of the change.Object
getCorrelationValue()
Value against which the events are to be ordered: events A and B having `A.sequentialNumber` less than `B.sequentialNumber` must be processed in that order (A then B) if their correlation value is the same.String
getErrorMessage()
Error message related to the pre-processing of this event.int
getSequentialNumber()
Sequential number of this event.PrismObject<ShadowType>
getShadowedObject()
The resulting combination of resource object and its repo shadow.String
getShadowOid()
OID of the shadow corresponding to the resource object in question.boolean
isComplete()
Is the event ready to be processed? Events can be incomplete e.g.boolean
isError()
Has the event encountered an error during pre-processing? Such events should be reported but not processed in the regular way.boolean
isNotApplicable()
Is the event irrelevant, and therefore should be skipped? This means no error has occurred, but simply there is nothing to do.-
Methods inherited from interface com.evolveum.midpoint.schema.AcknowledgementSink
acknowledge
-
Methods inherited from interface java.lang.Comparable
compareTo
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDump, debugDumpLazily, debugDumpLazily
-
-
-
-
Method Detail
-
getChangeDescription
ResourceObjectShadowChangeDescription getChangeDescription()
The description of the change. BEWARE! Can be null for erroneous changes that failed in such a crude way that no repo shadow was created.
-
getSequentialNumber
int getSequentialNumber()
Sequential number of this event. It is unique at least in the context of the current synchronization operation (ProvisioningService.synchronize(ResourceShadowDiscriminator, LiveSyncOptions, LiveSyncTokenStorage, LiveSyncEventHandler, Task, OperationResult)
orProvisioningService.processAsynchronousUpdates(com.evolveum.midpoint.schema.ResourceShadowCoordinates, AsyncUpdateEventHandler, Task, OperationResult)
).
-
getCorrelationValue
Object getCorrelationValue()
Value against which the events are to be ordered: events A and B having `A.sequentialNumber` less than `B.sequentialNumber` must be processed in that order (A then B) if their correlation value is the same. (Which means that they refer to the same resource object.)
-
isComplete
boolean isComplete()
Is the event ready to be processed? Events can be incomplete e.g. in the case of errors during pre-processing. TODO reconsider the name
-
isNotApplicable
boolean isNotApplicable()
Is the event irrelevant, and therefore should be skipped? This means no error has occurred, but simply there is nothing to do. Like a deletion of already-deleted account.
-
isError
boolean isError()
Has the event encountered an error during pre-processing? Such events should be reported but not processed in the regular way.
-
getErrorMessage
@Experimental String getErrorMessage()
Error message related to the pre-processing of this event. Should be non-null only ifisError()
is `true`. Temporary feature. Most probably it will be replaced by something more serious.
-
getShadowOid
String getShadowOid()
OID of the shadow corresponding to the resource object in question. Should be non-null if the change was pre-processed correctly.
-
getShadowedObject
PrismObject<ShadowType> getShadowedObject()
The resulting combination of resource object and its repo shadow. TODO clarify this description; see `ShadowedChange.shadowedObject`
-
-