Class GenericItemMerger
java.lang.Object
com.evolveum.midpoint.schema.merger.BaseItemMerger<Item<?,?>>
com.evolveum.midpoint.schema.merger.GenericItemMerger
- All Implemented Interfaces:
ItemMerger
The generic item merger that follows these rules:
1. Matching property and reference values are overridden.
2. Matching container values are merged recursively (using configured mergers for children).
What are _matching_ values?
1. For single-valued items the values at source and target sides are automatically considered matching.
2. For multi-valued items with a natural key defined, the values having the same key are considered matching.
3. For multi-valued items without a natural key, no values are matching.
-
Field Summary
Fields inherited from class com.evolveum.midpoint.schema.merger.BaseItemMerger
originMarker, VALUE_COMPARISON_STRATEGY
-
Constructor Summary
ConstructorDescriptionGenericItemMerger
(@Nullable OriginMarker originMarker, @NotNull PathKeyedMap<ItemMerger> childrenMergers) GenericItemMerger
(@Nullable OriginMarker originMarker, NaturalKey naturalKey) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
mergeInternal
(@NotNull Item<?, ?> targetItem, @NotNull Item<?, ?> sourceItem) Methods inherited from class com.evolveum.midpoint.schema.merger.BaseItemMerger
createMarkedClone, merge
-
Constructor Details
-
GenericItemMerger
public GenericItemMerger(@Nullable @Nullable OriginMarker originMarker, @NotNull @NotNull PathKeyedMap<ItemMerger> childrenMergers) -
GenericItemMerger
-
-
Method Details
-
mergeInternal
protected void mergeInternal(@NotNull @NotNull Item<?, ?> targetItem, @NotNull @NotNull Item<?, throws ConfigurationException, SchemaException?> sourceItem) - Specified by:
mergeInternal
in classBaseItemMerger<Item<?,
?>> - Throws:
ConfigurationException
SchemaException
-