Interface RoleActorFactory

All Known Implementing Classes:
GroupRoleActorFactory, MockProjectRoleManager.MockRoleActorFactory, PluginDelegatingRoleActorFactory, UserRoleActorFactory

@PublicSpi public interface RoleActorFactory
Create RoleActor instances.
  • Method Details

    • createRoleActor

      ProjectRoleActor createRoleActor(Long id, Long projectRoleId, Long projectId, String type, String parameter) throws RoleActorDoesNotExistException
      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.
      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

      Set<RoleActor> optimizeRoleActorSet(Set<RoleActor> roleActors)
      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.
      Parameters:
      roleActors - a Set of RoleActor instances
      Returns:
      the optimized Set perhaps containing aggregations that can be queried more efficiently.
    • getAllRoleActorsForUser

      @Nonnull Set<ProjectRoleActor> getAllRoleActorsForUser(@Nullable ApplicationUser user)
      Find and return all role actors for the given user.
      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.