|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface UserDao
Responsible for the persistence and retrieval of Users, PasswordCredentials and user attributes.
| Method Summary | ||
|---|---|---|
User |
add(User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential)
Creates a new user with the given details and credentials. |
|
BatchResult<User> |
addAll(Set<UserTemplateWithCredentialAndAttributes> users)
Bulk add users. |
|
TimestampedUser |
findByExternalId(long directoryId,
String externalId)
Finds and returns the user with the given unique/external id and directory ID. |
|
TimestampedUser |
findByName(long directoryId,
String userName)
Finds and returns the user with the given name and directory ID. |
|
UserWithAttributes |
findByNameWithAttributes(long directoryId,
String userName)
Finds and returns the user with attributes with the given name and directory ID. |
|
com.atlassian.crowd.embedded.api.PasswordCredential |
getCredential(long directoryId,
String userName)
Returns the credential for the given user. |
|
List<com.atlassian.crowd.embedded.api.PasswordCredential> |
getCredentialHistory(long directoryId,
String userName)
Returns the previous credentials for the given user, starting with the oldest. |
|
void |
remove(User user)
Removes the user. |
|
BatchResult<String> |
removeAllUsers(long directoryId,
Set<String> userNames)
Bulk remove all the given users from directory. |
|
void |
removeAttribute(User user,
String attributeName)
Removes the attributes for the user with the given name. |
|
User |
rename(User user,
String newName)
Changes the user's name to the provided new name. |
|
|
search(long directoryId,
EntityQuery<T> query)
Returns users matching the search query in the given directory, ordered by name. |
|
void |
storeAttributes(User user,
Map<String,Set<String>> attributes)
Adds or updates a user's attributes with the new Map of attribute values. |
|
User |
update(User user)
Updates all the user properties (except the username) of the user with the same directory and case-insensitive name. |
|
void |
updateCredential(User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential,
int maxCredentialHistory)
Updates the credential (password) of the user with the same directory and case-insensitive name. |
|
| Method Detail |
|---|
TimestampedUser findByName(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
com.atlassian.crowd.exception.UserNotFoundException - if the user could not be found
TimestampedUser findByExternalId(long directoryId,
String externalId)
throws com.atlassian.crowd.exception.UserNotFoundException
com.atlassian.crowd.exception.UserNotFoundException - if the user could not be found
UserWithAttributes findByNameWithAttributes(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
com.atlassian.crowd.exception.UserNotFoundException - if the user could not be found
com.atlassian.crowd.embedded.api.PasswordCredential getCredential(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
com.atlassian.crowd.exception.UserNotFoundException - if the user could not be found
List<com.atlassian.crowd.embedded.api.PasswordCredential> getCredentialHistory(long directoryId,
String userName)
throws com.atlassian.crowd.exception.UserNotFoundException
com.atlassian.crowd.exception.UserNotFoundException - if the user could not be found
User add(User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential)
throws com.atlassian.crowd.exception.UserAlreadyExistsException,
IllegalArgumentException,
com.atlassian.crowd.exception.DirectoryNotFoundException
user - the user to createcredential - the encrypted password for the user, which may be null if the user's password is not yet available
com.atlassian.crowd.exception.UserAlreadyExistsException - if a user with the same directory and name (case-insensitive) already exists
IllegalArgumentException - if the user name, directory or any details are null, or if the credential is not encrypted
com.atlassian.crowd.exception.DirectoryNotFoundException
void storeAttributes(User user,
Map<String,Set<String>> attributes)
throws com.atlassian.crowd.exception.UserNotFoundException
user - the user to store attributes forattributes - new or updated attributes (attributes that don't need changing should not appear in this Map).
com.atlassian.crowd.exception.UserNotFoundException - user with supplied username does not exist.
User update(User user)
throws com.atlassian.crowd.exception.UserNotFoundException,
IllegalArgumentException
When the username itself changes then the rename(User, String) method is called first, and this method
may be called afterwards if other details (eg email or display name) have also changed.
Even if the username is changed in case only (eg from "mary" to "Mary") then the rename() method will be called first. This implies that the implementation of this method should only need to change the cwd_user table.
user - the user details, which should have the same name as the user to modify
com.atlassian.crowd.exception.UserNotFoundException - if there is no user with the same name (case-insensitive) and directory as the
user provided
IllegalArgumentException - if the user name, directory or any details are nullrename(User, String)
void updateCredential(User user,
com.atlassian.crowd.embedded.api.PasswordCredential credential,
int maxCredentialHistory)
throws com.atlassian.crowd.exception.UserNotFoundException,
IllegalArgumentException
user - the user whose password will be modified
com.atlassian.crowd.exception.UserNotFoundException - if there is no user with the same name (case-insensitive) and directory as the user provided
IllegalArgumentException - if the credential is null or not encrypted
User rename(User user,
String newName)
throws com.atlassian.crowd.exception.UserNotFoundException,
com.atlassian.crowd.exception.UserAlreadyExistsException,
IllegalArgumentException
This method will be called for any change to a username including a case-only change (eg from "alice" to "Alice"). If there are changes to the username as well as to other user properties (eg email, display name) then callers must call the rename() method first followed by the update() method.
Implementations of this method will normally need to update the cwd_user table as well as cwd_membership, whereas the update() method implies a change to only the cwd_user table.
user - the user to renamenewName - the new name of the user
com.atlassian.crowd.exception.UserNotFoundException - if the user cannot be found
com.atlassian.crowd.exception.UserAlreadyExistsException - if the new name is already used by a different user
IllegalArgumentException - if the new name is nullupdate(User)
void removeAttribute(User user,
String attributeName)
throws com.atlassian.crowd.exception.UserNotFoundException
user - the user whose attribute will be removedattributeName - the name of the attribute to be removed
com.atlassian.crowd.exception.UserNotFoundException - if the user cannot be found
void remove(User user)
throws com.atlassian.crowd.exception.UserNotFoundException
user - the user to remove
com.atlassian.crowd.exception.UserNotFoundException - if the user does not exist
<T> List<T> search(long directoryId,
EntityQuery<T> query)
T - the type of objects to return, which is normally either User or StringdirectoryId - the ID of the directory to searchquery - the search query
BatchResult<User> addAll(Set<UserTemplateWithCredentialAndAttributes> users)
users - to be added
BatchResult<String> removeAllUsers(long directoryId,
Set<String> userNames)
directoryId - the ID of the directory to remove users fromuserNames - set of users to be removed
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||