Class AliasManagerImpl

java.lang.Object
com.atlassian.crowd.manager.application.AliasManagerImpl
All Implemented Interfaces:
AliasManager

@Transactional public class AliasManagerImpl extends Object implements AliasManager
  • Constructor Details

  • Method Details

    • findUsernameByAlias

      public String findUsernameByAlias(Application application, String authenticatingUsername)
      Description copied from interface: AliasManager
      Will return the 'real' username of the authenticating user. This returned username maybe the username passed in, if the user does not have a configured 'alias' for the given application
      Specified by:
      findUsernameByAlias in interface AliasManager
      Parameters:
      application - the application the user is associated with
      authenticatingUsername - the username passed to the application for authentication
      Returns:
      The 'real' username of the authenticating user, or the passed in username
    • findAliasByUsername

      public String findAliasByUsername(Application application, String username)
      Description copied from interface: AliasManager
      Will return the 'alias' associated to the user. If an alias does not exist the 'real' username will be returned
      Specified by:
      findAliasByUsername in interface AliasManager
      Parameters:
      application - the application the user is associated with
      username - the 'real' username of the user
      Returns:
      if an alias exists it will be returned, otherwise the username will be returned.
    • storeAlias

      public void storeAlias(Application application, String username, String alias) throws AliasAlreadyInUseException
      Description copied from interface: AliasManager
      Add or update the application-specific alias for a username.
      Specified by:
      storeAlias in interface AliasManager
      Parameters:
      application - application context.
      username - real username of user in directory.
      alias - application-specific alias (cannot be null or blank).
      Throws:
      AliasAlreadyInUseException - the alias is already in use by another user for the given application.
    • removeAlias

      public void removeAlias(Application application, String username) throws AliasAlreadyInUseException
      Description copied from interface: AliasManager
      Remove an application-specific alias for a username. This method will silently succeed if the username has no application-specific alias.
      Specified by:
      removeAlias in interface AliasManager
      Parameters:
      application - application context.
      username - real username of user in directory.
      Throws:
      AliasAlreadyInUseException - the username is already in use by another user as their alias for the given application.
    • search

      public List<String> search(EntityQuery entityQuery)
      Description copied from interface: AliasManager
      Perform an AliasQuery search on the alias tables of Crowd.
      Specified by:
      search in interface AliasManager
      Parameters:
      entityQuery - Will accept an entity query for aliases as an AliasQuery
      Returns:
      a List<String> of usernames for a given AliasQuery or an empty list
    • removeAliasesForUser

      public void removeAliasesForUser(String username)
      Description copied from interface: AliasManager
      Removes all the aliases registered for a given username in all applications (there may be different users)
      Specified by:
      removeAliasesForUser in interface AliasManager
      Parameters:
      username - the username for which the aliases will be removed
    • findAliasesByUsernames

      public Map<String,String> findAliasesByUsernames(Application application, Iterable<String> usernames)
      Description copied from interface: AliasManager
      Will return application-specific aliases for the provided users. This method will return a Map with usernames as keys and aliases as values. If aliasing is not enabled or no usernames were provided then an empty map will be returned. Users who don't have an alias will not have a corresponding entry in the returned map.
      Specified by:
      findAliasesByUsernames in interface AliasManager
      Parameters:
      application - application context
      usernames - the usernames for which the aliases will be retrieved
      Returns:
      a map from username to alias
    • findAllAliasesByUsernames

      public Map<String,String> findAllAliasesByUsernames(Application application)
      Description copied from interface: AliasManager
      Returns application-specific aliases for all users. This method will return a Map with usernames as keys and aliases as values. If aliasing is not enabled then an empty map will be returned. Users who don't have an alias will not have a corresponding entry in the returned map.
      Specified by:
      findAllAliasesByUsernames in interface AliasManager
      Parameters:
      application - application context
      Returns:
      a map from username to alias