Class LabelPermissionEnforcerImpl
java.lang.Object
com.atlassian.confluence.impl.labels.LabelPermissionEnforcerImpl
- All Implemented Interfaces:
LabelPermissionEnforcer
Performs permission checking for label editing actions
- Since:
- 6.9.0
-
Constructor Summary
ConstructorsConstructorDescriptionLabelPermissionEnforcerImpl
(PermissionManager permissionManager, AccessModeService accessModeService, SiteSearchPermissionsQueryFactory siteSearchPermissionsQueryFactory, SearchManager searchManager) -
Method Summary
Modifier and TypeMethodDescriptionfilterAuthorizedLabels
(List<Label> labels) Filters a list of label objects, removing any that the logged-in user is not authorized to access.filterLabelsByNamespace
(List labelList, @Nullable com.atlassian.user.User user, Namespace namespace) Takes a list of label objects and filters out those not in the specified namespacefilterVisibleLabels
(List labelList, @Nullable com.atlassian.user.User user, boolean hideSpecialLabels) Filters a list of label objects, removing any that are not visible to the specified user by checking the label's namespace.boolean
isLabelableByUser
(Labelable object) Checks that the object permits labels to be edited by the logged in user.boolean
userCanEditLabel
(Label label, Labelable object) Check if the user can edit a label of an objectboolean
userCanEditLabel
(ParsedLabelName ref, Labelable object) Check if the user can edit a label of an objectboolean
userCanEditLabelOrIsSpaceAdmin
(Label label, SpaceContentEntityObject object) Check if the user can edit a label of a space object or a space adminboolean
userCanViewLabel
(Label label) Determines whether a given label is viewable by the logged-in user.boolean
userCanViewObject
(Labelable object) Check if the user can view the labelable object
-
Constructor Details
-
LabelPermissionEnforcerImpl
public LabelPermissionEnforcerImpl(PermissionManager permissionManager, AccessModeService accessModeService, SiteSearchPermissionsQueryFactory siteSearchPermissionsQueryFactory, SearchManager searchManager)
-
-
Method Details
-
isLabelableByUser
Description copied from interface:LabelPermissionEnforcer
Checks that the object permits labels to be edited by the logged in user.- Specified by:
isLabelableByUser
in interfaceLabelPermissionEnforcer
- Parameters:
object
- - the object to be labelled, if null returns false.- Returns:
- true if permitted.
-
userCanEditLabel
Description copied from interface:LabelPermissionEnforcer
Check if the user can edit a label of an object- Specified by:
userCanEditLabel
in interfaceLabelPermissionEnforcer
- Parameters:
ref
- the referen ce to the labelobject
- the object associated with the label- Returns:
- true if permitted
-
userCanEditLabel
Description copied from interface:LabelPermissionEnforcer
Check if the user can edit a label of an object- Specified by:
userCanEditLabel
in interfaceLabelPermissionEnforcer
- Parameters:
label
- the labelobject
- the object associated with the label- Returns:
- true if permitted
-
userCanEditLabelOrIsSpaceAdmin
Description copied from interface:LabelPermissionEnforcer
Check if the user can edit a label of a space object or a space admin- Specified by:
userCanEditLabelOrIsSpaceAdmin
in interfaceLabelPermissionEnforcer
- Parameters:
label
- the labelobject
- the space object- Returns:
- true if permitted
-
userCanViewObject
Description copied from interface:LabelPermissionEnforcer
Check if the user can view the labelable object- Specified by:
userCanViewObject
in interfaceLabelPermissionEnforcer
- Parameters:
object
- the labelable object- Returns:
- true if permitted
-
filterVisibleLabels
public List filterVisibleLabels(List labelList, @Nullable com.atlassian.user.User user, boolean hideSpecialLabels) Description copied from interface:LabelPermissionEnforcer
Filters a list of label objects, removing any that are not visible to the specified user by checking the label's namespace. Also has an option to hide special labels.- Specified by:
filterVisibleLabels
in interfaceLabelPermissionEnforcer
- Parameters:
labelList
- a list of Label objectsuser
- the User the labels are filtered forhideSpecialLabels
- whether to hide special labels, such as favourites- Returns:
- a filtered list of Label objects
-
userCanViewLabel
Description copied from interface:LabelPermissionEnforcer
Determines whether a given label is viewable by the logged-in user.- Specified by:
userCanViewLabel
in interfaceLabelPermissionEnforcer
- Parameters:
label
- The label to check for viewability.- Returns:
- true if the user can view the label; false otherwise.
-
filterAuthorizedLabels
Description copied from interface:LabelPermissionEnforcer
Filters a list of label objects, removing any that the logged-in user is not authorized to access. Authorization is determined by checking if the user has access to any of the content associated with the label.- Specified by:
filterAuthorizedLabels
in interfaceLabelPermissionEnforcer
- Parameters:
labels
- a list of Label objects- Returns:
- a filtered list of Label objects
-
filterLabelsByNamespace
public List filterLabelsByNamespace(List labelList, @Nullable com.atlassian.user.User user, Namespace namespace) Description copied from interface:LabelPermissionEnforcer
Takes a list of label objects and filters out those not in the specified namespace- Specified by:
filterLabelsByNamespace
in interfaceLabelPermissionEnforcer
- Parameters:
labelList
- a list of Label objectsuser
- the User the labels are filtered fornamespace
- the Namespace to filter by- Returns:
- a filtered list of Label objects
-