public class DefaultChangeTransformer extends Object implements ChangeTransformer
Constructor and Description |
---|
DefaultChangeTransformer(com.fasterxml.jackson.databind.ObjectMapper fieldChangeMapper) |
Modifier and Type | Method and Description |
---|---|
boolean |
applyChanges(ChangeDetail detail,
Trackable target,
boolean reverse,
boolean addDetail,
boolean validateDetailVersion,
String explicitVersion)
Apply a
ChangeDetail to a target entity. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getOrder
public DefaultChangeTransformer(com.fasterxml.jackson.databind.ObjectMapper fieldChangeMapper)
public boolean applyChanges(ChangeDetail detail, Trackable target, boolean reverse, boolean addDetail, boolean validateDetailVersion, String explicitVersion)
ChangeDetail
to a target entity. Note, this implementation takes special care
to keep ChangeDetails sorted according to ChangeDetail.getVersion()
. Also, if
validateDetailVersion is true, it makes sure if a newer version ChangeDetail has already been
applied for the same field, it will not apply the older ChangeDetail value to the entity
field.applyChanges
in interface ChangeTransformer
detail
- The change to applytarget
- The target entity receiving the field updatereverse
- Whether to reverse and apply the detail before value, or not reverse and apply
the after valueaddDetail
- Whether or not the detail should be added to the details collection on the
target. If you were simply running through existing details to reset values, you would
not want to add the details again as you did so, for example.validateDetailVersion
- Whether or not to check the detail version against any already
applied changes for the field. This is useful if you want to make sure that an older
version cannot override an already applied newer version. Primarily used during
deploy.explicitVersion
- An indicator of change state for a sandbox entity (see
ChangeDetail.getVersion()
)Copyright © 2021. All rights reserved.