Interface SchemeType

All Known Subinterfaces:
SecurityType
All Known Implementing Classes:
AbstractIssueFieldSecurityType, AbstractProjectsSecurityType, AbstractSecurityType, ApplicationRoleSecurityType, CurrentAssignee, CurrentAssigneeHasAssignablePermission, CurrentReporter, CurrentReporterHasCreatePermission, GroupCF, GroupDropdown, ProjectLead, ProjectRoleSecurityAndNotificationType, SimpleIssueFieldSecurityType, SingleUser, UserCF

public interface SchemeType
  • Method Details

    • getDisplayName

      String getDisplayName()
    • getType

      String getType()
    • doValidation

      void doValidation(String key, Map<String,String> parameters, JiraServiceContext jiraServiceContext)
    • hasPermission

      boolean hasPermission(Project project, String parameter)
      Determines if this permission type is satisfied for anonymous access.
      Parameters:
      project - This is the project that the security is being checked for
      parameter - If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown)
      Returns:
      true if anonymous Users have this permission.
    • hasPermission

      boolean hasPermission(Issue issue, String parameter)
      Determines if this permission type is satisfied for anonymous access.
      Parameters:
      issue - This is the issue that the security is being checked for
      parameter - If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown)
      Returns:
      true if anonymous Users have this permission.
    • hasPermission

      boolean hasPermission(Project project, String parameter, ApplicationUser user, boolean issueCreation)
      Determines if this permission type is satisfied.
      Parameters:
      project - This is the project that the security is being checked for
      parameter - If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown)
      user - The user for whom the permission is being checked
      issueCreation - Whether this permission is being checked during issue creation
      Returns:
      true if the given User has this permission.
    • hasPermission

      boolean hasPermission(Issue issue, String parameter, ApplicationUser user, boolean issueCreation)
      Determines if this permission type is satisfied.
      Parameters:
      issue - This is the issue that the security is being checked for
      parameter - If this particular SchemeType has been configured with a parameter, then this parameter is passed (eg. Group Name for GroupDropdown)
      user - The user for whom the permission is being checked
      issueCreation - Whether this permission is being checked during issue creation
      Returns:
      true if the given User has this permission.
    • isValidForPermission

      boolean isValidForPermission(ProjectPermissionKey permissionKey)
      This method determines if this SchemeType is valid for the given permissionKey.

      The default behaviour is for SchemeTypes to be valid for all permission functions, but some scheme types may choose to override this behaviour. eg the CurrentReporterHasCreatePermission scheme is invalid to be added to the "Create Issue" function. Also see JRA-13315.

      Parameters:
      permissionKey - key of the permission in question
      Returns:
      true if this SchemeType is valid for the given permissionId.
      See Also: