Interface ApplicationRole

All Known Implementing Classes:
MockApplicationRole

@Immutable public interface ApplicationRole
Represents an Application Role in JIRA. An application role defines which users (indirectly through groups) can access an application.

An ApplicationRole is defined by a JIRA plugin through it's module configuration. An ApplicationRole is regarded as licensed when there is a (potentially exceeded) license present in JIRA that provides user seats for the ApplicationRole that is uniquely identified by an ApplicationKey.

Since:
v7.0
  • Method Summary

    Modifier and Type
    Method
    Description
    Set<com.atlassian.crowd.embedded.api.Group>
    Return the default groups configured for the role.
    Set<com.atlassian.crowd.embedded.api.Group>
    Return the set of groups associated with the role including the default ones.
    com.atlassian.application.api.ApplicationKey
    Returns the canonical ApplicationKey that uniquely identifies this ApplicationRole.
    Return the name of the ApplicationRole.
    int
    Returns the total number of seats of this ApplicationRole issued with the licence.
    boolean
    Indicates if the Application/Product is defined.
    boolean
    Returns whether the role is part of the core platform.
    boolean
    Determines whether ApplicationRole should be selected by default on user creation
    withGroups(Iterable<com.atlassian.crowd.embedded.api.Group> groups, Iterable<com.atlassian.crowd.embedded.api.Group> defaultGroups)
    Return a new ApplicationRole with its groups and default groups set to the passed values.
    withSelectedByDefault(boolean selectedByDefault)
    Returns a new ApplicationRole with its selected by default settings set to passed value
  • Method Details

    • getKey

      @Nonnull com.atlassian.application.api.ApplicationKey getKey()
      Returns the canonical ApplicationKey that uniquely identifies this ApplicationRole.
      Returns:
      the canonical ApplicationKey that uniquely identifies this ApplicationRole.
    • getName

      @Nonnull String getName()
      Return the name of the ApplicationRole. The name is i18ned for the calling user if possible.
      Returns:
      the name of the ApplicationRole role. The name is i18ned for the calling user if possible.
    • getGroups

      @Nonnull Set<com.atlassian.crowd.embedded.api.Group> getGroups()
      Return the set of groups associated with the role including the default ones.
      Returns:
      the groups associated with the role.
    • getDefaultGroups

      @Nonnull Set<com.atlassian.crowd.embedded.api.Group> getDefaultGroups()
      Return the default groups configured for the role.
      Returns:
      Set with the default groups associated with the role, set will be empty if there are no default groups.
    • withGroups

      @Nonnull ApplicationRole withGroups(@Nonnull Iterable<com.atlassian.crowd.embedded.api.Group> groups, @Nonnull Iterable<com.atlassian.crowd.embedded.api.Group> defaultGroups)
      Return a new ApplicationRole with its groups and default groups set to the passed values.
      Parameters:
      groups - the groups associated with the role.
      defaultGroups - default groups for the role.
      Returns:
      a new ApplicationRole with its groups and default groups set to the passed arguments.
      Throws:
      IllegalArgumentException - if groups or defaultGroups contains null or if defaultGroups is not a subset of groups.
    • getNumberOfSeats

      int getNumberOfSeats()
      Returns the total number of seats of this ApplicationRole issued with the licence.
      Returns:
      the total number of seats of this ApplicationRole issued with the licence.

    • isSelectedByDefault

      boolean isSelectedByDefault()
      Determines whether ApplicationRole should be selected by default on user creation
      Returns:
      true when ApplicationRole should be selected by default on user creation
    • withSelectedByDefault

      ApplicationRole withSelectedByDefault(boolean selectedByDefault)
      Returns a new ApplicationRole with its selected by default settings set to passed value
      Parameters:
      selectedByDefault - the new selected by default settings
      Returns:
      a new ApplicationRole with its selected by default settings set to passed value
    • isDefined

      boolean isDefined()
      Indicates if the Application/Product is defined. This is true when the ApplicationRoleDefinition identified by the ApplicationKey is defined. An ApplicationRole is defined when the JIRA plugin that defines it is installed.
      Returns:
      true if the ApplicationRole is defined
    • isPlatform

      boolean isPlatform()
      Returns whether the role is part of the core platform.
      Returns:
      true if the application role is part of the core platform, false if it comes from elsewhere such as a plugin.