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
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 implement
ItemDeltaValueProcessor.setRealValues(Collection)
and ItemDeltaValueProcessor.delete()
methods.-
Field Summary
Fields inherited from class com.evolveum.midpoint.repo.sqale.delta.ItemDeltaValueProcessor
context
-
Constructor Summary
-
Method Summary
Methods inherited from class com.evolveum.midpoint.repo.sqale.delta.ItemDeltaValueProcessor
addRealValue, addRealValues, addValues, convertRealValue, delete, deleteRealValue, deleteRealValues, deleteValues, modifyRealValue, setRealValues, useRealDeltaApplyResults
-
Constructor Details
-
FinalValueDeltaProcessor
- Type Parameters:
Q
- entity query type from which the attribute is resolvedR
- row type related toFinalValueDeltaProcessor
-
-
Method Details
-
process
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
-