com.atlassian.jira.security.roles.actor
Class UserRoleActorFactory

java.lang.Object
  extended by com.atlassian.jira.security.roles.actor.UserRoleActorFactory
All Implemented Interfaces:
RoleActorFactory

@Internal
public class UserRoleActorFactory
extends Object
implements RoleActorFactory

Responsible for construction of UserRoleActor instances. Also optimises the lookup where we have many users in a particular role for a project by doing a map lookup based on the username.

Access to the actual User instance is via a UserFactory so we can unit-test. The production dependency is set in the default ctor.


Field Summary
static String TYPE
           
 
Constructor Summary
UserRoleActorFactory(UserManager userManager)
           
 
Method Summary
 ProjectRoleActor createRoleActor(Long id, Long projectRoleId, Long projectId, String type, String parameter)
          Create instances of the ProjectRoleActor
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE

public static final String TYPE
See Also:
Constant Field Values
Constructor Detail

UserRoleActorFactory

public UserRoleActorFactory(UserManager userManager)
Method Detail

createRoleActor

public ProjectRoleActor createRoleActor(Long id,
                                        Long projectRoleId,
                                        Long projectId,
                                        String type,
                                        String parameter)
                                 throws RoleActorDoesNotExistException
Description copied from interface: RoleActorFactory
Create instances of the ProjectRoleActor

Specified by:
createRoleActor in interface RoleActorFactory
Returns:
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.


Copyright © 2002-2013 Atlassian. All Rights Reserved.