@ExperimentalSpi public abstract class BaseOperationCheck extends Object implements OperationCheck
OperationCheck
s.
Plugins implementing their own checks should extend this.Modifier | Constructor and Description |
---|---|
protected |
BaseOperationCheck(OperationKey operationKey,
TargetType expectedTargetType)
Construct a
BaseOperationCheck . |
Modifier and Type | Method and Description |
---|---|
@NonNull Map<Target,ValidationResult> |
canPerform(Person person,
Iterable<Target> targets)
Validates targets are the correct
TargetType ,
then delegates to canPerformImpl(Person, java.lang.Iterable) . |
@NonNull ValidationResult |
canPerform(Person person,
Target target)
Delegates to
canPerform(Person, java.lang.Iterable) . |
@NonNull Map<Target,ValidationResult> |
canPerformAccordingToState(Person person,
Iterable<Target> targets)
Validates targets are the correct
TargetType ,
then delegates to canPerformAccordingToStateImpl(Person, java.lang.Iterable) . |
@NonNull ValidationResult |
canPerformAccordingToState(Person person,
Target target)
Delegates to
canPerformAccordingToState(Person, java.lang.Iterable) . |
protected abstract @NonNull Map<Target,ValidationResult> |
canPerformAccordingToStateImpl(@NonNull Person person,
@NonNull Iterable<Target> targets)
Subclass implements this to perform canPerformAccordingToState checks on a collection of targets.
|
protected abstract @NonNull Map<Target,ValidationResult> |
canPerformImpl(@NonNull Person person,
@NonNull Iterable<Target> targets)
Subclass implements this to perform canPerform checks on a collection of targets.
|
@NonNull OperationKey |
getOperationKey() |
protected BaseOperationCheck(OperationKey operationKey, TargetType expectedTargetType)
BaseOperationCheck
.operationKey
- the operation for getOperationKey()
.expectedTargetType
- the single TargetType
supported by this check. This base class will check
targets match this before calling canPerformImpl(Person, java.lang.Iterable)
or canPerformAccordingToStateImpl(Person, java.lang.Iterable)
.public final @NonNull OperationKey getOperationKey()
getOperationKey
in interface Operation
getOperationKey
in interface OperationCheck
OperationKey
passed to the constructor.public final @NonNull ValidationResult canPerform(Person person, Target target)
canPerform(Person, java.lang.Iterable)
.canPerform
in interface OperationCheck
person
- the Person on which to perform a permission and validation checktarget
- the Target to check permission forpublic final @NonNull ValidationResult canPerformAccordingToState(Person person, Target target)
canPerformAccordingToState(Person, java.lang.Iterable)
.canPerformAccordingToState
in interface OperationCheck
person
- the Person on which to perform a permission and validation checktarget
- the Target to check permission forpublic final @NonNull Map<Target,ValidationResult> canPerform(Person person, Iterable<Target> targets)
TargetType
,
then delegates to canPerformImpl(Person, java.lang.Iterable)
.canPerform
in interface OperationCheck
person
- the Person on which to perform a permission and validation checktargets
- the Targets to check permission for;
must all be of the same TargetType
ValidationResult
for each of the supplied targets. Results for each target will
be as follows:
public final @NonNull Map<Target,ValidationResult> canPerformAccordingToState(Person person, Iterable<Target> targets)
TargetType
,
then delegates to canPerformAccordingToStateImpl(Person, java.lang.Iterable)
.canPerformAccordingToState
in interface OperationCheck
person
- the Person on which to perform a permission and validation checktargets
- the Targets to check state for;
must all be of the same TargetType
ValidationResult
for each of the supplied targets. Results for each target will
be as follows:
protected abstract @NonNull Map<Target,ValidationResult> canPerformImpl(@NonNull Person person, @NonNull Iterable<Target> targets)
person
- non-null Persontargets
- non-null non-empty collection of Targets, each already validated as being non-null
and having the correct TargetType
for this operation checkOperationCheck.canPerform(com.atlassian.confluence.api.model.people.Person, java.lang.Iterable)
UnsupportedTargetException
- if target points to the wrong kind of object for this operation check
(e.g. container target vs. specific object target)BadRequestException
SimpleValidationResult.builder()
protected abstract @NonNull Map<Target,ValidationResult> canPerformAccordingToStateImpl(@NonNull Person person, @NonNull Iterable<Target> targets)
person
- non-null Persontargets
- non-null non-empty collection of Targets, each already validated as being non-null
and having the correct TargetType
for this operation checkOperationCheck.canPerformAccordingToState(com.atlassian.confluence.api.model.people.Person, java.lang.Iterable)
UnsupportedTargetException
- if target points to the wrong kind of object for this operation check
(e.g. container target vs. specific object target)BadRequestException
SimpleValidationResult.builder()
Copyright © 2003–2021 Atlassian. All rights reserved.