@NonInjectableComponent public class

CustomFieldClausePermissionChecker

extends Object
implements ClausePermissionChecker
java.lang.Object
   ↳ com.atlassian.jira.jql.permission.CustomFieldClausePermissionChecker

Class Overview

A clause permission checker for custom fields that will check the users permission to see the field and also that the user has permission to see at least one context on the custom field.

Summary

Nested Classes
class CustomFieldClausePermissionChecker.DefaultFactory This is a factory so that we don't have a circular dependency on the Field manager. 
interface CustomFieldClausePermissionChecker.Factory  
Public Constructors
CustomFieldClausePermissionChecker(CustomField field, FieldManager fieldManager, FieldConfigSchemeClauseContextUtil clauseContextUtil)
Public Methods
boolean hasPermissionToUseClause(User user, Set<FieldLayout> fieldLayouts)
Checks to see that the provided user is able to use the clause.
boolean hasPermissionToUseClause(User user)
Checks to see that the provided user is able to use the clause.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.jql.permission.ClausePermissionChecker

Public Constructors

public CustomFieldClausePermissionChecker (CustomField field, FieldManager fieldManager, FieldConfigSchemeClauseContextUtil clauseContextUtil)

Public Methods

public boolean hasPermissionToUseClause (User user, Set<FieldLayout> fieldLayouts)

Checks to see that the provided user is able to use the clause. This method provides all the FieldLayouts visible to the given user as a shortcut otherwise individual checkers can end up looking this up dozens or even hundreds of times with causes slow downs in our search (see JRADEV-15665).

Parameters
user to check permissions against.
fieldLayouts The field Layouts available to the given user (value of getVisibleFieldLayouts(User).
Returns
  • true if the user can use this clause, false otherwise.

public boolean hasPermissionToUseClause (User user)

Checks to see that the provided user is able to use the clause. This may be as simple as determining if the user has permission to see the field that the clause represents.

Parameters
user to check permissions against.
Returns
  • true if the user can use this clause, false otherwise.