com.atlassian.crowd.openid.server.manager.profile
Interface ProfileManager

All Known Implementing Classes:
ProfileManagerGeneric

public interface ProfileManager


Method Summary
 Profile addNewPopulatedProfile(User user, java.lang.String profileName, java.util.Map attributes)
          Adds a new profile based on attribute name/value pairs.
 Profile addNewProfile(User user, SOAPPrincipal principal, java.util.Locale locale, java.lang.String profileName)
          Creates and adds a new profile to a given user.
 void deleteProfile(User user, long profileID)
          Deletes a the given profile from a user.
 Profile getProfile(User user, long profileID)
          Retrieves the requested profile from a user.
 void makeDefaultProfile(User user, long profileID)
          Changes the default profile of a user.
 void renameProfile(User user, long profileID, java.lang.String newName)
          Rename an existing profile of a user.
 void updateProfile(User user, long profileID, java.util.Map attributes)
          Updates a user's profile given a map of attributes.
 

Method Detail

addNewProfile

Profile addNewProfile(User user,
                      SOAPPrincipal principal,
                      java.util.Locale locale,
                      java.lang.String profileName)
                      throws ProfileAlreadyExistsException
Creates and adds a new profile to a given user. Default profile data is obtained from the SOAPPrincipal/Locale. The following mapping is used: 1. fullname = FirstName + " " + LastName 2. nickname = Username 3. email = Email 4. country = Locale.getCountry() 5. language = Locale.getLanguage()

Parameters:
user - the user object to add the new profile to.
principal - the SOAPPrincipal which contains basic attribute data.
locale - the Locale of the user (to get country/language information).
profileName - the name of the new profile.
Returns:
new profile.
Throws:
ProfileAlreadyExistsException - if the user already has a profile with the given profile name.

addNewPopulatedProfile

Profile addNewPopulatedProfile(User user,
                               java.lang.String profileName,
                               java.util.Map attributes)
                               throws ProfileAlreadyExistsException
Adds a new profile based on attribute name/value pairs.

Parameters:
user - user that owns the profile.
profileName - the name of the new profile.
attributes - Map
Returns:
newly created profile.
Throws:
ProfileAlreadyExistsException - if the user already has a profile with the given profile name.

updateProfile

void updateProfile(User user,
                   long profileID,
                   java.util.Map attributes)
                   throws ProfileDoesNotExistException,
                          ProfileAccessViolationException
Updates a user's profile given a map of attributes. The user must own the profile referenced by the profileID. The map of attribtue name-values must be non-null. Any attribute names (keys) which are stored in the profile but not the attribute map, will be deleted. All other attribute names will be updated or added.

Parameters:
user - user that owns the profile.
profileID - profile ID of the profile to update.
attributes - Map
Throws:
ProfileDoesNotExistException - if profile with requested profileID does not exist.
ProfileAccessViolationException - if the user does not own the profile with the requested profileID.

makeDefaultProfile

void makeDefaultProfile(User user,
                        long profileID)
                        throws ProfileDoesNotExistException,
                               ProfileAccessViolationException
Changes the default profile of a user.

Parameters:
user - user that owns the profile.
profileID - profile ID of the profile to set as default.
Throws:
ProfileDoesNotExistException - if profile with requested profileID does not exist.
ProfileAccessViolationException - if the user does not own the profile with the requested profileID.

deleteProfile

void deleteProfile(User user,
                   long profileID)
                   throws ProfileDoesNotExistException,
                          ProfileAccessViolationException,
                          DefaultProfileDeleteException
Deletes a the given profile from a user. Note: a user is not allowed to delete their default profile.

Parameters:
user - user that owns the profile.
profileID - profile ID of the profile to update.
Throws:
ProfileDoesNotExistException - if profile with requested profileID does not exist.
ProfileAccessViolationException - if the user does not own the profile with the requested profileID.
DefaultProfileDeleteException - if the profile requested for deletion is the default profile of the user.

renameProfile

void renameProfile(User user,
                   long profileID,
                   java.lang.String newName)
                   throws ProfileDoesNotExistException,
                          ProfileAccessViolationException,
                          ProfileAlreadyExistsException
Rename an existing profile of a user. The new name must not clash with the other existing profile names the user has.

Parameters:
user - user user that owns the profile.
profileID - profileID profile ID of the profile to rename.
newName - new name of the profile.
Throws:
ProfileDoesNotExistException - if profile with requested profileID does not exist.
ProfileAccessViolationException - if the user does not own the profile with the requested profileID.
ProfileAlreadyExistsException - if user already has a profile with the new name.

getProfile

Profile getProfile(User user,
                   long profileID)
                   throws ProfileDoesNotExistException,
                          ProfileAccessViolationException
Retrieves the requested profile from a user.

Parameters:
user - user that owns the profile.
profileID - profile ID of the profile to retrieve.
Returns:
profile corresponding to profileID owned by user.
Throws:
ProfileAccessViolationException - profile with given profileID exists but is not owned by the user.
ProfileDoesNotExistException - profile with given profileID does not exist.


Copyright © 2009 Atlassian Pty Ltd. All Rights Reserved.