All Superinterfaces:
DebugDumpable, Serializable
All Known Implementing Classes:
InboundSourceData.AssociationValue, InboundSourceData.Shadow

@Experimental public interface InboundSourceData extends DebugDumpable, Serializable
The source data for inbound mappings related to a single shadow or association value. It covers: - the object itself: ShadowType or ShadowAssociationValue (before and after the change - if applicable) - delta (sync delta or the delta computed in the previous wave) Note that deltas are currently supported only for shadows, not for shadow association values.
See Also:
  • Method Details

    • getShadowVariableValue

      default PrismObject<ShadowType> getShadowVariableValue()
      Returns old or current shadow, for the purpose of setting expression variables.
    • getAssociationVariableValue

      default ShadowAssociationValueType getAssociationVariableValue()
      Returns the association value, for the purpose of setting expression variables.
    • getItemOld

      <V extends PrismValue, D extends ItemDefinition<?>> Item<V,D> getItemOld(@NotNull @NotNull ItemPath itemPath)
      Returns the specific item, for the purpose of providing the mapping source (IDI).
    • isNoShadow

      default boolean isNoShadow()
      Returns true if there is no shadow (after change).
    • updateShadowAfterReload

      @NotNull default @NotNull InboundSourceData updateShadowAfterReload(@NotNull @NotNull PrismObject<ShadowType> currentShadow)
    • hasSyncOrEffectiveDelta

      default boolean hasSyncOrEffectiveDelta()
    • hasEffectiveDelta

      default boolean hasEffectiveDelta()
    • getEffectiveItemDelta

      @Nullable default <V extends PrismValue, D extends ItemDefinition<?>> @Nullable ItemDelta<V,D> getEffectiveItemDelta(ItemPath path)
      Delta that moves the item from the state at the beginning of the clockwork execution to the current state. NEVER the sync delta. Always the delta computed by the projector in the previous wave.
    • forShadowWithoutDelta

      static InboundSourceData forShadowWithoutDelta(@Nullable @Nullable PrismObject<ShadowType> shadow)
    • forShadow

      static InboundSourceData forShadow(@Nullable @Nullable PrismObject<ShadowType> oldShadow, @Nullable @Nullable PrismObject<ShadowType> currentShadow, @Nullable @Nullable ObjectDelta<ShadowType> delta, boolean isDeltaEffective)
    • forAssociationValue

      static InboundSourceData forAssociationValue(@NotNull @NotNull ShadowAssociationValue associationValue)
    • forShadowLikeValue

      @NotNull static @NotNull InboundSourceData forShadowLikeValue(@NotNull @NotNull ShadowLikeValue shadowLikeValue, @Nullable @Nullable ObjectDelta<ShadowType> resourceObjectDelta)
      The delta (if present) must be the sync delta.