Class PluginDelegatingRoleActorFactory

java.lang.Object
com.atlassian.jira.security.roles.PluginDelegatingRoleActorFactory
All Implemented Interfaces:
RoleActorFactory

public class PluginDelegatingRoleActorFactory extends Object implements RoleActorFactory
Creator of RoleActor objects that have been registered dynamically.
  • Constructor Details

    • PluginDelegatingRoleActorFactory

      public PluginDelegatingRoleActorFactory(com.atlassian.plugin.PluginAccessor pluginAccessor)
  • Method Details

    • createRoleActor

      public ProjectRoleActor createRoleActor(Long id, Long projectRoleId, Long projectId, String type, String parameter) throws RoleActorDoesNotExistException
      Description copied from interface: RoleActorFactory
      Create instance of the ProjectRoleActor representing a role actor stored in the database. In order to add a new role actor please pass a null id.
      Specified by:
      createRoleActor in interface RoleActorFactory
      Parameters:
      id - of the ProjectRoleActor
      projectRoleId - of the ProjectRole associated with the actor.
      projectId - of the Project associated with the actor.
      type - of the actor which determines the implementation.
      parameter - saying with which exact entity is actor associated ie. group name, user name.
      Returns:
      implementation representing ProjectRoleActor.
      Throws:
      RoleActorDoesNotExistException
    • optimizeRoleActorSet

      public Set<RoleActor> optimizeRoleActorSet(Set<RoleActor> roleActors)
      Description copied from interface: RoleActorFactory
      if RoleActors can be aggregated and queried in a more optimised way, then optimize the set to reduce its size so we reduce the number of iterations across the set.
      Specified by:
      optimizeRoleActorSet in interface RoleActorFactory
      Parameters:
      roleActors - a Set of RoleActor instances
      Returns:
      the optimized Set perhaps containing aggregations that can be queried more efficiently.
    • getAllRoleActorsForUser

      @Nonnull public Set<ProjectRoleActor> getAllRoleActorsForUser(@Nullable ApplicationUser user)
      Description copied from interface: RoleActorFactory
      Find and return all role actors for the given user.
      Specified by:
      getAllRoleActorsForUser in interface RoleActorFactory
      Parameters:
      user - for which actors will be obtained
      Returns:
      a set of actors being associated with the given user or empty set if none found.