Package com.evolveum.midpoint.schema.merger

package com.evolveum.midpoint.schema.merger
Supports merging of (usually) configuration beans. For example, resource inheritance and object type inheritance is implemented here. Other uses will be considered in the future. == How to Use === Implementors When you want to create a new merger, you need to just extend BaseMergeOperation and implement the merging logic. In most cases, it involves providing the appropriate root-level ItemMerger to the constructor: BaseMergeOperation(com.evolveum.midpoint.prism.Containerable, com.evolveum.midpoint.prism.Containerable, com.evolveum.midpoint.schema.merger.GenericItemMerger) Only in rare cases you will need to implement the merging logic yourself, like in LimitationsMerger or ObjectTypeDefinitionMerger. Some of the mergers operate at the level of objects, for example: - ResourceMergeOperation (for resources) - ObjectTemplateMergeOperation (for object templates) Others are at the level of containerables, like: - CorrelatorMergeOperation (for correlator definitions) - SimulationDefinitionMergeOperation (for simulation definitions) === Users After instantiating appropriate BaseMergeOperation, you just call its BaseMergeOperation.execute() method. Just look for the usages in midPoint code for inspiration. == Limitations The architecture of this package is not finished yet. It is more-or-less an experiment for now.