Class SmartAssignmentCollection<F extends AssignmentHolderType>
- java.lang.Object
-
- com.evolveum.midpoint.model.impl.lens.projector.SmartAssignmentCollection<F>
-
- All Implemented Interfaces:
DebugDumpable
,Iterable<SmartAssignmentElement>
public class SmartAssignmentCollection<F extends AssignmentHolderType> extends Object implements Iterable<SmartAssignmentElement>, DebugDumpable
Smart set of assignment values that keep track whether the assignment is new, old or changed. This information is used for various reasons. We specifically distinguish between assignments in objectCurrent and objectOld to be able to reliably detect phantom adds: a phantom add is an assignment that is both in OLD and CURRENT objects. This is important in waves greater than 0, where objectCurrent is already updated with existing assignments. (See MID-2422.) Each assignment is present here only once. For example, if it's present in old and current object, and also referenced by a delta, it is still here represented only as a single entry.- Author:
- Radovan Semancik
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Constructor Summary
Constructors Constructor Description SmartAssignmentCollection()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
collect(PrismObject<F> objectCurrent, PrismObject<F> objectOld, ContainerDelta<AssignmentType> assignmentDelta, Collection<AssignmentType> forcedAssignments, Collection<AssignmentType> taskAssignments)
String
debugDump(int indent)
@NotNull Iterator<SmartAssignmentElement>
iterator()
String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
collect
public void collect(PrismObject<F> objectCurrent, PrismObject<F> objectOld, ContainerDelta<AssignmentType> assignmentDelta, Collection<AssignmentType> forcedAssignments, Collection<AssignmentType> taskAssignments) throws SchemaException
- Throws:
SchemaException
-
iterator
@NotNull public @NotNull Iterator<SmartAssignmentElement> iterator()
- Specified by:
iterator
in interfaceIterable<F extends AssignmentHolderType>
-
debugDump
public String debugDump(int indent)
- Specified by:
debugDump
in interfaceDebugDumpable
-
-