Class ItemDeltaFilter
- java.lang.Object
-
- com.evolveum.midpoint.schema.util.delta.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 Summary
Constructors Constructor Description ItemDeltaFilter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ItemDeltaFilter
create(Object pathsToInclude, Object pathsToExclude, Boolean includeOperationalItems)
boolean
matches(ItemDelta<?,?> itemDelta)
Algorithm: .
-
-
-
Method Detail
-
create
public static ItemDeltaFilter create(Object pathsToInclude, Object pathsToExclude, Boolean includeOperationalItems)
-
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 withpathsToInclude
andpathsToExclude
. 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 anypathsToInclude
, the item will be excluded, .. if there were nopathsToInclude
, the item will be included. . Non-operational items are handled like this: They are excluded, unlessincludeOperationalItems
is `true` _or_ they are explicitly and fully mentioned inpathsToInclude
. Limitations: this algorithm does not "see" inside container deltas. They are treated atomically - purely formally according to their path.
-
-