Class ItemDeltaFilter


  • @Experimental
    public class ItemDeltaFilter
    extends Object
    Filters item deltas according to specified criteria. Currently in `schema` module (not in `prism` one), because I am not sure if it will be midPoint-specific or not. LIMITED FUNCTIONALITY. We are not able to see inside deltas. So, for example, when looking for `activation/administrativeStatus` property, and the whole `activation` container is added, the delta is not shown.
    • Constructor Detail

      • ItemDeltaFilter

        public ItemDeltaFilter()
    • Method Detail

      • matches

        public boolean matches​(ItemDelta<?,​?> itemDelta)
        Algorithm: . The changed item path is stripped off the container identifiers, e.g. `assignment/[123]/description` becomes `assignment/description`. . The simplified path is compared with pathsToInclude and pathsToExclude. If it matches the former, the change is included. If it matches the latter, the change is excluded. . Otherwise, the last segment of the path is removed, e.g. `assignment/description` becomes `assignment`. The process continues at previous point. . If nothing matches, then .. if there were any pathsToInclude, the item will be excluded, .. if there were no pathsToInclude, the item will be included. . Non-operational items are handled like this: They are excluded, unless includeOperationalItems is `true` _or_ they are explicitly and fully mentioned in pathsToInclude. Limitations: this algorithm does not "see" inside container deltas. They are treated atomically - purely formally according to their path.