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 ofContentRestrictionService.ValidatorContains 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 ofContentRestrictionServiceimplementations.- Since:
- 5.10
-
-
Constructor Summary
Constructors Constructor Description DefaultContentRestrictionServiceValidator(ContentEntityManagerInternal contentEntityManager, PermissionManager permissionManager, ConfluenceUserResolver confluenceUserResolver, com.atlassian.user.GroupManager groupManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ValidationResultvalidateAddDirectRestrictionForSubject(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 specifiedValidationResultvalidateAddRestrictions(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 existingValidationResultvalidateDeleteAllDirectRestrictions(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 specifiedValidationResultvalidateDeleteDirectRestrictionForSubject(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 specifiedValidationResultvalidateGetRestrictions(ContentId contentId)Validates whether content specified exists and whether currently logged in user can read restrictions on a content specified.ValidationResultvalidateGetRestrictionsForOperation(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 specifiedValidationResultvalidateHasDirectRestrictionsForSubject(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 userValidationResultvalidateUpdateRestrictions(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 Detail
-
DefaultContentRestrictionServiceValidator
public DefaultContentRestrictionServiceValidator(ContentEntityManagerInternal contentEntityManager, PermissionManager permissionManager, ConfluenceUserResolver confluenceUserResolver, com.atlassian.user.GroupManager groupManager)
-
-
Method Detail
-
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
public ValidationResult validateDeleteAllDirectRestrictions(ContentId contentId)
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- 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- Returns:
- validation result
-
validateGetRestrictions
public ValidationResult validateGetRestrictions(ContentId contentId)
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:
ContentRestrictionService.Validator.validateGetRestrictions(ContentId)
-
-