Package com.evolveum.midpoint.prism.impl
Class GenericItemMerger
java.lang.Object
com.evolveum.midpoint.prism.impl.BaseItemMerger<Item<?,?>>
 
com.evolveum.midpoint.prism.impl.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 SummaryFields inherited from class com.evolveum.midpoint.prism.impl.BaseItemMergeroriginMarker, VALUE_COMPARISON_STRATEGY
- 
Constructor SummaryConstructorsConstructorDescriptionGenericItemMerger(@Nullable OriginMarker originMarker, @NotNull PathKeyedMap<ItemMerger> childrenMergers) GenericItemMerger(@Nullable OriginMarker originMarker, @NotNull PathKeyedMap<ItemMerger> childrenMergers, @NotNull MergeStrategy strategy) GenericItemMerger(@Nullable OriginMarker originMarker, NaturalKeyDefinition naturalKey) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidmergeContainerValues(@NotNull PrismContainerValue<?> targetPcv, @NotNull PrismContainerValue<?> sourcePcv) protected voidmergeInternal(@NotNull Item<?, ?> targetItem, @NotNull Item<?, ?> sourceItem) Methods inherited from class com.evolveum.midpoint.prism.impl.BaseItemMergercreateMarkedClone, getStrategy, isFullMerge, merge, setStrategy
- 
Constructor Details- 
GenericItemMergerpublic GenericItemMerger(@Nullable @Nullable OriginMarker originMarker, @NotNull @NotNull PathKeyedMap<ItemMerger> childrenMergers) 
- 
GenericItemMergerpublic GenericItemMerger(@Nullable @Nullable OriginMarker originMarker, @NotNull @NotNull PathKeyedMap<ItemMerger> childrenMergers, @NotNull @NotNull MergeStrategy strategy) 
- 
GenericItemMergerpublic GenericItemMerger(@Nullable @Nullable OriginMarker originMarker, NaturalKeyDefinition naturalKey) 
 
- 
- 
Method Details- 
getNaturalKey- Specified by:
- getNaturalKeyin interface- ItemMerger
- Overrides:
- getNaturalKeyin class- BaseItemMerger<Item<?,- ?>> 
 
- 
mergeContainerValuespublic void mergeContainerValues(@NotNull @NotNull PrismContainerValue<?> targetPcv, @NotNull @NotNull PrismContainerValue<?> sourcePcv) throws ConfigurationException, SchemaException 
- 
mergeInternalprotected void mergeInternal(@NotNull @NotNull Item<?, ?> targetItem, @NotNull @NotNull Item<?, throws ConfigurationException, SchemaException?> sourceItem) - Specified by:
- mergeInternalin class- BaseItemMerger<Item<?,- ?>> 
- Throws:
- ConfigurationException
- SchemaException
 
 
-