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.)- 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, AssignmentType taskAssignment)
void
collectAssignmentsForPreprocessing(PrismContainer<AssignmentType> assignmentContainer, Collection<AssignmentType> forcedAssignments)
String
debugDump(int indent)
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, AssignmentType taskAssignment) throws SchemaException
- Throws:
SchemaException
-
collectAssignmentsForPreprocessing
public void collectAssignmentsForPreprocessing(PrismContainer<AssignmentType> assignmentContainer, Collection<AssignmentType> forcedAssignments) throws SchemaException
- Throws:
SchemaException
-
iterator
public Iterator<SmartAssignmentElement> iterator()
- Specified by:
iterator
in interfaceIterable<F extends AssignmentHolderType>
-
debugDump
public String debugDump(int indent)
- Specified by:
debugDump
in interfaceDebugDumpable
-
-