@ReturnValuesAreNonnullByDefault public class UserKeyChangeHandlerWithBLValidationErrors extends Object implements UserKeyChangeHandler
DEFAULT_NUMBER_OF_TASKS
Constructor and Description |
---|
UserKeyChangeHandlerWithBLValidationErrors() |
Modifier and Type | Method and Description |
---|---|
Collection<AffectedEntity> |
getAffectedEntities(UserPropertyChangeParameter parameter)
Used to collect a list of entities that will be affected by the anonymization process.
|
ServiceResult |
update(UserPropertyChangeParameter parameter)
Performs the updates required by the user anonymization.
|
SimpleErrorCollection |
validateBusinessLogic(AnonymizationParameters anonymizationParametes)
Allows handlers to prevent the anonymization if it would break business logic constraints.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getNumberOfTasks
public UserKeyChangeHandlerWithBLValidationErrors()
public Collection<AffectedEntity> getAffectedEntities(UserPropertyChangeParameter parameter)
AnonymizationHandler
Its goal is to inform the end-user about the expected changes before they trigger the process.
getAffectedEntities
in interface AnonymizationHandler<UserPropertyChangeParameter>
parameter
- Data relevant to the handled anonymization step, e.g. previous and new (anonymized) usernamepublic ServiceResult update(UserPropertyChangeParameter parameter)
AnonymizationHandler
Implementations must be idempotent - multiple invocations of this method should lead to the same result. In particular, when the method fails we can call it again to finish the operation.
During the execution, implementations can update their the progress by calling Context.start(object);
on the context passed in parameter
, and subsequently call Context.Task.complete();
on the task
object to indicate task has finished.
Implementations can also call Context.setName("Name of current step")
to describe the task that is currently processed.
update
in interface AnonymizationHandler<UserPropertyChangeParameter>
parameter
- Data relevant to the handled anonymization step, e.g. previous and new (anonymized) username@Nullable public SimpleErrorCollection validateBusinessLogic(AnonymizationParameters anonymizationParametes)
AnonymizationHandler
As an example, ownership transfer handler can ensure that an entity can only be transferred to a user with a particular role, e.g. only to another admin.
The calculations done here should be as quick as possible not to degrade the user experience! Only business logic constraints should be checked here. You can assume that the passed in parameters are otherwise valid, e.g. the user to transfer the entity to exists and is not disabled.
validateBusinessLogic
in interface AnonymizationHandler<UserPropertyChangeParameter>
ErrorCollection
, containing translated business logic validation errors if there were any, null otherwiseCopyright © 2002-2022 Atlassian. All Rights Reserved.