Class DefaultContentRestrictionServiceValidator
java.lang.Object
com.atlassian.confluence.api.impl.service.permissions.DefaultContentRestrictionServiceValidator
- All Implemented Interfaces:
ContentRestrictionService.Validator
public class DefaultContentRestrictionServiceValidator
extends Object
implements ContentRestrictionService.Validator
Default implementation of
ContentRestrictionService.Validator
Contains per-service-operation methods as we used to in other services/validators.
Also contains some package-private methods for performing more granular checks.
Validation by validator should be the first thing to do on all the public service methods of ContentRestrictionService implementations.- Since:
- 5.10
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultContentRestrictionServiceValidator(ContentEntityManagerInternal contentEntityManager, PermissionManager permissionManager, ConfluenceUserResolver confluenceUserResolver, com.atlassian.user.GroupManager groupManager) -
Method Summary
Modifier and TypeMethodDescriptionvalidateAddDirectRestrictionForSubject(ContentId contentId, OperationKey operationKey, Subject subject) Validates that: OperationKey supplied is supported Subject supplied is either User or a Group and does exist Content specified exists AND can be viewed by the currently logged-in user Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specifiedvalidateAddRestrictions(ContentId contentId, Collection<? extends ContentRestriction> contentRestrictions) Validates that: Content specified exists AND can be viewed by the currently logged-in user Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specified Input data is enough to proceed with the operation Input data should not conflict with any restrictions existingvalidateDeleteAllDirectRestrictions(ContentId contentId) Validates that: Content specified exists AND can be viewed by the currently logged-in user Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specifiedvalidateDeleteDirectRestrictionForSubject(ContentId contentId, OperationKey operationKey, Subject subject) Validates that: OperationKey supplied is supported Subject supplied is either User or a Group Content specified exists AND can be viewed by the currently logged-in user Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specifiedvalidateGetRestrictions(ContentId contentId) Validates whether content specified exists and whether currently logged in user can read restrictions on a content specified.validateGetRestrictionsForOperation(ContentId contentId, OperationKey opKey) Validates whether OperationKey supplied is supported, whether content specified exists, whether currently logged in user can read restrictions on a content specifiedvalidateHasDirectRestrictionsForSubject(ContentId contentId, OperationKey operationKey, Subject subject) Validates that: OperationKey supplied is supported Subject supplied is either User or a Group Content specified exists AND can be viewed by the currently logged-in uservalidateUpdateRestrictions(ContentId contentId, Collection<? extends ContentRestriction> contentRestrictions) Validates that: Content specified exists AND can be viewed by the currently logged-in user Input data is enough to proceed with the operation Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specified Returns first of the failed validation results or aValidationResultwhich is both authorised and valid.
-
Constructor Details
-
DefaultContentRestrictionServiceValidator
public DefaultContentRestrictionServiceValidator(ContentEntityManagerInternal contentEntityManager, PermissionManager permissionManager, ConfluenceUserResolver confluenceUserResolver, com.atlassian.user.GroupManager groupManager)
-
-
Method Details
-
validateUpdateRestrictions
public ValidationResult validateUpdateRestrictions(ContentId contentId, Collection<? extends ContentRestriction> contentRestrictions) Description copied from interface:ContentRestrictionService.ValidatorValidates that: Content specified exists AND can be viewed by the currently logged-in user Input data is enough to proceed with the operation Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specified Returns first of the failed validation results or aValidationResultwhich is both authorised and valid.- Specified by:
validateUpdateRestrictionsin interfaceContentRestrictionService.Validator- Parameters:
contentId- identifier of a content for which the check should be performedcontentRestrictions-Collectionof something which can be cast toContentRestrictions.- Returns:
ValidationResultwhereValidationResult.isValid() == falseorValidationResult.isAuthorized() == falsein case something is wrong with the data passed. Returns completely okay ValidationResult otherwise.
-
validateAddRestrictions
public ValidationResult validateAddRestrictions(ContentId contentId, Collection<? extends ContentRestriction> contentRestrictions) Description copied from interface:ContentRestrictionService.ValidatorValidates that: Content specified exists AND can be viewed by the currently logged-in user Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specified Input data is enough to proceed with the operation Input data should not conflict with any restrictions existing- Specified by:
validateAddRestrictionsin interfaceContentRestrictionService.Validator- Parameters:
contentId- identifier of a content for which the check should be performedcontentRestrictions-Collectionof something which can be cast toContentRestrictions.- Returns:
ValidationResultwhereValidationResult.isValid() == falseorValidationResult.isAuthorized() == falsein case something is wrong with the data passed. Returns completely okay ValidationResult otherwise.
-
validateDeleteAllDirectRestrictions
Description copied from interface:ContentRestrictionService.ValidatorValidates that: Content specified exists AND can be viewed by the currently logged-in user Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specified- Specified by:
validateDeleteAllDirectRestrictionsin interfaceContentRestrictionService.Validator- Parameters:
contentId- identifier of a content for which the check should be performed- Returns:
ValidationResultwhereValidationResult.isValid() == falseorValidationResult.isAuthorized() == falsein case something is wrong with the data passed. Returns completely okay ValidationResult otherwise.
-
validateHasDirectRestrictionsForSubject
public ValidationResult validateHasDirectRestrictionsForSubject(ContentId contentId, OperationKey operationKey, Subject subject) Description copied from interface:ContentRestrictionService.ValidatorValidates that: OperationKey supplied is supported Subject supplied is either User or a Group Content specified exists AND can be viewed by the currently logged-in user- Specified by:
validateHasDirectRestrictionsForSubjectin interfaceContentRestrictionService.Validator- Parameters:
contentId- identifier of a content for which the check should be performed- Returns:
ValidationResultwhereValidationResult.isValid() == falseorValidationResult.isAuthorized() == falsein case something is wrong with the data passed. Returns completely okay ValidationResult otherwise.
-
validateDeleteDirectRestrictionForSubject
public ValidationResult validateDeleteDirectRestrictionForSubject(ContentId contentId, OperationKey operationKey, Subject subject) Description copied from interface:ContentRestrictionService.ValidatorValidates that: OperationKey supplied is supported Subject supplied is either User or a Group Content specified exists AND can be viewed by the currently logged-in user Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specified- Specified by:
validateDeleteDirectRestrictionForSubjectin interfaceContentRestrictionService.Validator- Parameters:
contentId-operationKey-subject-- Returns:
- validation result
-
validateAddDirectRestrictionForSubject
public ValidationResult validateAddDirectRestrictionForSubject(ContentId contentId, OperationKey operationKey, Subject subject) Description copied from interface:ContentRestrictionService.ValidatorValidates that: OperationKey supplied is supported Subject supplied is either User or a Group and does exist Content specified exists AND can be viewed by the currently logged-in user Currently logged-in user is allowed to alter ContentRestrictions on and edit the content specified- Specified by:
validateAddDirectRestrictionForSubjectin interfaceContentRestrictionService.Validator- Parameters:
contentId-operationKey-subject-- Returns:
- validation result
-
validateGetRestrictions
Description copied from interface:ContentRestrictionService.ValidatorValidates whether content specified exists and whether currently logged in user can read restrictions on a content specified.- Specified by:
validateGetRestrictionsin interfaceContentRestrictionService.Validator- Parameters:
contentId- identifier of a content for which the check should be performed- Returns:
ValidationResultwhereValidationResult.isValid() == falsein case content is missing or unavailable.
-
validateGetRestrictionsForOperation
public ValidationResult validateGetRestrictionsForOperation(ContentId contentId, OperationKey opKey) Description copied from interface:ContentRestrictionService.ValidatorValidates whether OperationKey supplied is supported, whether content specified exists, whether currently logged in user can read restrictions on a content specified- Specified by:
validateGetRestrictionsForOperationin interfaceContentRestrictionService.Validator- Parameters:
contentId- identifier of a content for which the check should be performedopKey-OperationKeywhich user tries to obtain restrictions for- Returns:
ValidationResultwhereValidationResult.isValid() == falsein case content is missing or unavailable orOperationKeysupplied is not supported.- See Also:
-