Class FinalValueDeltaProcessor<T>
- java.lang.Object
-
- com.evolveum.midpoint.repo.sqale.delta.ItemDeltaValueProcessor<T>
-
- com.evolveum.midpoint.repo.sqale.delta.item.FinalValueDeltaProcessor<T>
-
- Type Parameters:
T
- expected type of the real value for the modification (after optional conversion)
- All Implemented Interfaces:
ItemDeltaProcessor
- Direct Known Subclasses:
ArrayItemDeltaProcessor
,CountItemDeltaProcessor
,JsonbPolysItemDeltaProcessor
public abstract class FinalValueDeltaProcessor<T> extends ItemDeltaValueProcessor<T>
Common delta processor logic for storing based on the final value of the property. When the delta processor is run, the modification has been already applied to the prism object. This is typically used for storing multi-value item in a single column. This may not be efficient when the amount of values is too big, but it has to be really big to be of consequence (my wild guess is 100-1000 can be still OK). Subclasses have to implementItemDeltaValueProcessor.setRealValues(Collection)
andItemDeltaValueProcessor.delete()
methods.
-
-
Field Summary
-
Fields inherited from class com.evolveum.midpoint.repo.sqale.delta.ItemDeltaValueProcessor
context
-
-
Constructor Summary
Constructors Constructor Description FinalValueDeltaProcessor(SqaleUpdateContext<?,Q,R> context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
process(ItemDelta<?,?> modification)
Default process implementation, most generic case covering especially multi-values stored in separate rows.-
Methods inherited from class com.evolveum.midpoint.repo.sqale.delta.ItemDeltaValueProcessor
addRealValues, addValues, convertRealValue, delete, deleteRealValues, deleteValues, setRealValues
-
-
-
-
Constructor Detail
-
FinalValueDeltaProcessor
public FinalValueDeltaProcessor(SqaleUpdateContext<?,Q,R> context)
- Type Parameters:
Q
- entity query type from which the attribute is resolvedR
- row type related toFinalValueDeltaProcessor
-
-
Method Detail
-
process
public void process(ItemDelta<?,?> modification) throws RepositoryException, SchemaException
Description copied from class:ItemDeltaValueProcessor
Default process implementation, most generic case covering especially multi-values stored in separate rows. This works when implementations ofItemDeltaValueProcessor.deleteRealValues(java.util.Collection<?>)
andItemDeltaValueProcessor.addRealValues(java.util.Collection<?>)
are independent, it's not usable for array update where a single `SET` clause is allowed.- Specified by:
process
in interfaceItemDeltaProcessor
- Overrides:
process
in classItemDeltaValueProcessor<T>
- Throws:
RepositoryException
SchemaException
-
-