Package jetbrains.buildServer.users.impl
Class SecuredUser
- java.lang.Object
-
- jetbrains.buildServer.users.impl.BaseUser
-
- jetbrains.buildServer.users.impl.UserImpl
-
- jetbrains.buildServer.users.impl.SecuredUser
-
- All Implemented Interfaces:
Loggable
,NotificationRulesHolder
,AuthorityHolder
,RolesHolder
,UserEx
,UserRolesInit
,PropertyHolder
,SPropertyHolder
,SUser
,User
public class SecuredUser extends UserImpl
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jetbrains.buildServer.users.impl.UserImpl
UserImpl.BuildTypesOrder
-
-
Field Summary
-
Fields inherited from class jetbrains.buildServer.users.impl.UserImpl
myProjectManager, PROTECTED_USER_PROPERTY_PREFIX, PUBLIC_USER_PROPERTY_PREFIX, SECURED_USER_PROPERTY_PREFIX, VERIFIED_EMAIL_PROPERTY_NAME
-
Fields inherited from interface jetbrains.buildServer.users.SUser
GUEST_USER_ID, SUPER_USER_ID, UKNOWN_USER_ID
-
-
Constructor Summary
Constructors Constructor Description SecuredUser(long id, String realm, String account, String name, String email, Date lastLoginTimestamp, boolean hasPassword, UserChangesFacade changesFacade, SecurityContextEx securityContext, ServerResponsibility serverResponsibility, UserUpdate userUpdate, UserDataLoader userDataLoader, BlockStateManager blockStateManager, ProjectManagerEx projectManager, UserGroupManager userGroupManager, NotificationRulesManager notificationRulesManager, RolesManager rolesManager, RolesConverter rolesConverter, VcsUsernameStorage vcsUsernameStorage, PasswordComplexityChecker passwordComplexityChecker, UserAttributeStorage userAttributeStorage)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
addNewRule(String notifierType, NotificationRule rule)
Adds new rule to the rules of specified user for specified notifier type.void
addRole(RoleScope scope, Role role)
Adds role with specified scopevoid
addVcsUsername(VcsUsernamePropertyKey key, String userName)
void
applyOrder(String notifierType, long[] ruleIds)
Sorts the notification rules in the specified order.void
deleteAttribute(String attributeKey)
Delete user attributevoid
deleteUserProperty(PropertyKey propertyKey)
Deletes a property with specified key from the user profile.List<UserGroup>
getAllUserGroups()
Returns the list of all user groups that include this user, directly or through intermediate subgroups.protected List<UserGroup>
getAllUserGroupsUnfiltered()
String
getAttribute(String attributeKey)
Get user attributeMap<String,String>
getAttributes()
Get all user attributesString
getBlockState(String blockType)
Retrieves state of a block stored for this userboolean
getBooleanProperty(PropertyKey propertyKey)
Returns value of the boolean propertyString
getEmail()
Returns e-mail of this userSortedMap<SProject,List<SBuildType>>
getFilteredVisibleBuildTypes(BuildTypeFilter filter)
Returns sorted map of build configurations per project.List<SBuildType>
getOrderedBuildTypes(SProject project)
Returns the list of build configurations (in a project, or globally) sorted according to user settings.Map<PropertyKey,String>
getProperties()
Returns map of the propertiesString
getPropertyValue(PropertyKey propertyKey)
Returns value of the property with specified keyList<UserGroup>
getUserGroups()
Returns the list of groups which this user belongs to.List<VcsUsernamePropertyKey>
getVcsUsernameProperties()
Returns list of VCS username properties associated with this user.Map<VcsUsernamePropertyKey,List<String>>
getVcsUsernames()
List<String>
getVisibleProjects()
Computes list of visible projects sorted according to the order specified by user.boolean
hasPassword()
Returns true if user has password, false otherwise (e.g.void
hideProject(String projectId)
Marks a project with specified id as invisiblevoid
hideProjects(Collection<String> projectIds)
Marks the specified projects as invisiblevoid
removeRole(Role role)
Removes specified role.void
removeRole(RoleScope scope, Role role)
Removes role with specified scopevoid
removeRoles(RoleScope scope)
Removes all of the roles having the specified scope.void
removeRule(long ruleId)
Removes the rule with specified id.void
removeRule(NotificationRule rule)
Removes the rule.void
resetBuildTypesOrder(SProject project)
Resets the build types order settings to defaults.void
resetCachedAttributes()
Reset cached user attributesvoid
setAttribute(String attributeKey, String attributeValue)
Set user attributevoid
setBlockState(String blockType, String blockState)
Stores collapsable block state for this uservoid
setBuildTypesOrder(SProject project, List<SBuildType> visible, List<SBuildType> invisible)
Sets visible and invisible build types for the given project in the specified order.void
setDefaultVcsUsernames(List<String> userNames)
boolean
setEmailIsVerified(String email)
Mark user`s email as verified if it's equal to email passed in parameter.void
setLastLoginTimestamp(Date timestamp)
Updates last login timestampvoid
setNotificationRules(String notifierType, List<NotificationRule> rules)
Sets the notification rules for specified notifier.void
setPassword(String password)
Changes password of this uservoid
setProjectsOrder(List<String> projectsOrder)
Sets order of the projects.void
setUserProperties(Map<? extends PropertyKey,String> properties)
Updates properties of the user specified by user id.void
setUserProperty(PropertyKey propertyKey, String value)
Sets a property with specified key and value in user profilevoid
setVcsRootUsernames(VcsRoot root, List<String> userNames)
void
setVcsUsernames(String vcsName, List<String> userNames)
void
setVcsUsernames(VcsUsernamePropertyKey key, List<String> userNames)
void
setVisibleProjects(Collection<String> visibleProjects)
Sets projects visible for specified uservoid
updateUserAccount(String username, String name, String email)
Updates user fields: username, name and email.-
Methods inherited from class jetbrains.buildServer.users.impl.UserImpl
clearPermissions, deleteProperty, equals, getAdditionalGlobalPermissions, getAllModifications, getAllProjects, getBuildTypesOrder, getDescriptiveName, getExtendedName, getId, getLastLoginTimestamp, getName, getProjectsOrder, getProjectVisibilityHolder, getRealm, getUsername, getVcsModifications, getVerifiedEmail, hashCode, init, isConfiguredVisibleProjects, isGuest, isHasHiddenProjects, isHighlightRelatedDataInUI, resetCachedProperties, resetCachedVcsUsernames, setCreationInProgress, setProperties, setProperty, toString
-
Methods inherited from class jetbrains.buildServer.users.impl.BaseUser
describe, findConflictingRules, findRuleById, getAllParentHolders, getAllParentRulesHolders, getAssociatedUser, getGlobalPermissions, getNotificationRules, getOriginalAuthorityHolder, getParentHolders, getParentRulesHolders, getPermissionsGrantedForAllProjects, getPermissionsGrantedForAnyOfProjects, getPermissionsGrantedForProject, getProjectsPermissions, getRoles, getRolesWithScope, getScopes, getSecurityContext, getServerResponsibility, hasAllPermissionsOf, isPermissionGrantedForAllProjects, isPermissionGrantedForAnyOfProjects, isPermissionGrantedForAnyProject, isPermissionGrantedForProject, isPermissionGrantedGlobally, isPseudoUser, isPseudoUserId, isSystemAdministratorRoleGranted, isSystemAdministratorRoleGrantedDirectly, isSystemAdministratorRoleInherited, resetBlocks, resetRoles, runWithRestrictor, updatePermissions
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jetbrains.buildServer.serverSide.auth.AuthorityHolder
getAllPermissions, getAssociatedUser, getGlobalPermissions, getPermissionsGrantedForAllProjects, getPermissionsGrantedForAnyOfProjects, getPermissionsGrantedForProject, getProjectsPermissions, hasAllPermissionsOf, isPermissionGrantedForAllProjects, isPermissionGrantedForAnyOfProjects, isPermissionGrantedForAnyProject, isPermissionGrantedForProject, isPermissionGrantedGlobally
-
Methods inherited from interface jetbrains.buildServer.notification.NotificationRulesHolder
findConflictingRules, findRuleById, getAllParentRulesHolders, getNotificationRules, getParentRulesHolders
-
Methods inherited from interface jetbrains.buildServer.serverSide.auth.RolesHolder
getAllParentHolders, getParentHolders, getRoles, getRolesWithScope, getScopes, isSystemAdministratorRoleGranted, isSystemAdministratorRoleGrantedDirectly, isSystemAdministratorRoleInherited
-
Methods inherited from interface jetbrains.buildServer.users.impl.UserEx
getOriginalAuthorityHolder, isPseudoUser, resetBlocks, runWithRestrictor, runWithRestrictor, updatePermissions
-
Methods inherited from interface jetbrains.buildServer.users.impl.UserRolesInit
resetRoles
-
-
-
-
Constructor Detail
-
SecuredUser
public SecuredUser(long id, String realm, String account, String name, String email, Date lastLoginTimestamp, boolean hasPassword, @NotNull UserChangesFacade changesFacade, @NotNull SecurityContextEx securityContext, @NotNull ServerResponsibility serverResponsibility, @NotNull UserUpdate userUpdate, @NotNull UserDataLoader userDataLoader, @NotNull BlockStateManager blockStateManager, @NotNull ProjectManagerEx projectManager, @NotNull UserGroupManager userGroupManager, @NotNull NotificationRulesManager notificationRulesManager, @NotNull RolesManager rolesManager, @NotNull RolesConverter rolesConverter, @NotNull VcsUsernameStorage vcsUsernameStorage, @NotNull PasswordComplexityChecker passwordComplexityChecker, @NotNull UserAttributeStorage userAttributeStorage)
-
-
Method Detail
-
updateUserAccount
public void updateUserAccount(@NotNull String username, String name, String email) throws UserNotFoundException, DuplicateUserAccountException
Description copied from interface:SUser
Updates user fields: username, name and email.- Specified by:
updateUserAccount
in interfaceSUser
- Overrides:
updateUserAccount
in classUserImpl
- Parameters:
username
- username, cannot be nullname
- full name of a useremail
- email address- Throws:
UserNotFoundException
- if specified user no longer exists in the modelDuplicateUserAccountException
- if a new username name already assigned to another user
-
setUserProperties
public void setUserProperties(@NotNull Map<? extends PropertyKey,String> properties) throws UserNotFoundException
Description copied from interface:SUser
Updates properties of the user specified by user id. Only those properties will be updated which keys are specified in the properties map. All other properties will be left intact.- Specified by:
setUserProperties
in interfaceSUser
- Overrides:
setUserProperties
in classUserImpl
- Parameters:
properties
- properties- Throws:
UserNotFoundException
- if specified user no longer exists
-
setUserProperty
public void setUserProperty(@NotNull PropertyKey propertyKey, String value) throws UserNotFoundException
Description copied from interface:SUser
Sets a property with specified key and value in user profile- Specified by:
setUserProperty
in interfaceSUser
- Overrides:
setUserProperty
in classUserImpl
- Parameters:
propertyKey
- property keyvalue
- value of the property- Throws:
UserNotFoundException
- if specified user no longer exists
-
setEmailIsVerified
public boolean setEmailIsVerified(@NotNull String email)
Description copied from interface:UserEx
Mark user`s email as verified if it's equal to email passed in parameter.- Specified by:
setEmailIsVerified
in interfaceUserEx
- Overrides:
setEmailIsVerified
in classUserImpl
- Returns:
- true if verified email was set, false otherwise
-
deleteUserProperty
public void deleteUserProperty(@NotNull PropertyKey propertyKey) throws UserNotFoundException
Description copied from interface:SUser
Deletes a property with specified key from the user profile.- Specified by:
deleteUserProperty
in interfaceSUser
- Overrides:
deleteUserProperty
in classUserImpl
- Parameters:
propertyKey
- property key- Throws:
UserNotFoundException
- if specified user no longer exists
-
setPassword
public void setPassword(String password) throws UserNotFoundException
Description copied from interface:SUser
Changes password of this user- Specified by:
setPassword
in interfaceSUser
- Overrides:
setPassword
in classUserImpl
- Parameters:
password
- new password- Throws:
UserNotFoundException
- if specified user no longer exists
-
hasPassword
public boolean hasPassword()
Description copied from interface:UserEx
Returns true if user has password, false otherwise (e.g. if it was created by NT domain or LDAP login module)- Specified by:
hasPassword
in interfaceUserEx
- Overrides:
hasPassword
in classUserImpl
- Returns:
-
setProjectsOrder
public void setProjectsOrder(@NotNull List<String> projectsOrder) throws UserNotFoundException
Description copied from interface:SUser
Sets order of the projects.- Specified by:
setProjectsOrder
in interfaceSUser
- Overrides:
setProjectsOrder
in classUserImpl
- Parameters:
projectsOrder
- identificators of all projects in the order specified by user- Throws:
UserNotFoundException
- if specified user no longer exists
-
setVisibleProjects
public void setVisibleProjects(@NotNull Collection<String> visibleProjects) throws UserNotFoundException
Description copied from interface:SUser
Sets projects visible for specified user- Specified by:
setVisibleProjects
in interfaceSUser
- Overrides:
setVisibleProjects
in classUserImpl
- Parameters:
visibleProjects
- collection of identifiers of visible projects- Throws:
UserNotFoundException
- if specified user no longer exists
-
hideProject
public void hideProject(@NotNull String projectId) throws UserNotFoundException
Description copied from interface:SUser
Marks a project with specified id as invisible- Specified by:
hideProject
in interfaceSUser
- Overrides:
hideProject
in classUserImpl
- Parameters:
projectId
- id of the project- Throws:
UserNotFoundException
- if this user does not exist anymore
-
hideProjects
public void hideProjects(@NotNull Collection<String> projectIds) throws UserNotFoundException
Description copied from interface:SUser
Marks the specified projects as invisible- Specified by:
hideProjects
in interfaceSUser
- Overrides:
hideProjects
in classUserImpl
- Parameters:
projectIds
- ids of the project to hide- Throws:
UserNotFoundException
- if this user does not exist anymore
-
setBlockState
public void setBlockState(String blockType, String blockState)
Description copied from interface:SUser
Stores collapsable block state for this user- Specified by:
setBlockState
in interfaceSUser
- Overrides:
setBlockState
in classUserImpl
- Parameters:
blockType
- type of blockblockState
- state
-
setBuildTypesOrder
public void setBuildTypesOrder(@NotNull SProject project, @NotNull List<SBuildType> visible, @NotNull List<SBuildType> invisible)
Description copied from interface:SUser
Sets visible and invisible build types for the given project in the specified order.- Specified by:
setBuildTypesOrder
in interfaceSUser
- Overrides:
setBuildTypesOrder
in classUserImpl
- Parameters:
project
- the projectvisible
- the list of visible build typesinvisible
- the list of invisible build types
-
resetBuildTypesOrder
public void resetBuildTypesOrder(@NotNull SProject project)
Description copied from interface:UserEx
Resets the build types order settings to defaults.- Specified by:
resetBuildTypesOrder
in interfaceUserEx
- Overrides:
resetBuildTypesOrder
in classUserImpl
- Parameters:
project
- the project
-
setNotificationRules
public void setNotificationRules(@NotNull String notifierType, @NotNull List<NotificationRule> rules)
Description copied from interface:NotificationRulesHolder
Sets the notification rules for specified notifier.- Specified by:
setNotificationRules
in interfaceNotificationRulesHolder
- Overrides:
setNotificationRules
in classBaseUser
- Parameters:
notifierType
- type of the notifierrules
- rules to save
-
addNewRule
public long addNewRule(@NotNull String notifierType, @NotNull NotificationRule rule) throws DuplicateNotificationRuleException
Description copied from interface:NotificationRulesHolder
Adds new rule to the rules of specified user for specified notifier type.- Specified by:
addNewRule
in interfaceNotificationRulesHolder
- Overrides:
addNewRule
in classBaseUser
- Parameters:
notifierType
- type of the notifierrule
- rule to add- Returns:
- the id of the newly created rule
- Throws:
DuplicateNotificationRuleException
- if similar rule already exists
-
applyOrder
public void applyOrder(@NotNull String notifierType, @NotNull long[] ruleIds)
Description copied from interface:NotificationRulesHolder
Sorts the notification rules in the specified order.- Specified by:
applyOrder
in interfaceNotificationRulesHolder
- Overrides:
applyOrder
in classBaseUser
- Parameters:
notifierType
- type of the notifierruleIds
- ids of the rules in the required order
-
removeRule
public void removeRule(long ruleId)
Description copied from interface:NotificationRulesHolder
Removes the rule with specified id.- Specified by:
removeRule
in interfaceNotificationRulesHolder
- Overrides:
removeRule
in classBaseUser
- Parameters:
ruleId
- id of the rule
-
removeRule
public void removeRule(@NotNull NotificationRule rule)
Description copied from interface:NotificationRulesHolder
Removes the rule. ThrowsNotificationRuleChangedException
if notification rule with same id was already changed. Does nothing if notification rule doesn't exist.- Specified by:
removeRule
in interfaceNotificationRulesHolder
- Overrides:
removeRule
in classBaseUser
- Parameters:
rule
- rule to remove
-
getEmail
public String getEmail()
Description copied from interface:User
Returns e-mail of this user
-
getProperties
@NotNull public Map<PropertyKey,String> getProperties()
Description copied from interface:PropertyHolder
Returns map of the properties- Specified by:
getProperties
in interfacePropertyHolder
- Overrides:
getProperties
in classUserImpl
- Returns:
- map of the properties
-
getPropertyValue
public String getPropertyValue(PropertyKey propertyKey)
Description copied from interface:PropertyHolder
Returns value of the property with specified key- Specified by:
getPropertyValue
in interfacePropertyHolder
- Overrides:
getPropertyValue
in classUserImpl
- Parameters:
propertyKey
- value of the property with specified key- Returns:
- value of the property with specified key
-
getBlockState
public String getBlockState(String blockType)
Description copied from interface:SUser
Retrieves state of a block stored for this user- Specified by:
getBlockState
in interfaceSUser
- Overrides:
getBlockState
in classBaseUser
- Parameters:
blockType
- type of block- Returns:
- block state or null
-
getVisibleProjects
public List<String> getVisibleProjects()
Description copied from interface:User
Computes list of visible projects sorted according to the order specified by user.- Specified by:
getVisibleProjects
in interfaceUser
- Overrides:
getVisibleProjects
in classUserImpl
- Returns:
- list of visible projects ids
-
getVcsUsernameProperties
@NotNull public List<VcsUsernamePropertyKey> getVcsUsernameProperties()
Description copied from interface:SUser
Returns list of VCS username properties associated with this user. VCS username property defines username of this user in a concrete VCS root or VCS repository type (Subversion, Perforce, etc).- Specified by:
getVcsUsernameProperties
in interfaceSUser
- Overrides:
getVcsUsernameProperties
in classBaseUser
- Returns:
- list of VCS usernames
-
getVcsUsernames
@NotNull public Map<VcsUsernamePropertyKey,List<String>> getVcsUsernames()
- Specified by:
getVcsUsernames
in interfaceUserEx
- Overrides:
getVcsUsernames
in classUserImpl
-
getBooleanProperty
public boolean getBooleanProperty(PropertyKey propertyKey)
Description copied from interface:PropertyHolder
Returns value of the boolean property- Specified by:
getBooleanProperty
in interfacePropertyHolder
- Overrides:
getBooleanProperty
in classUserImpl
- Parameters:
propertyKey
- property key- Returns:
- value
-
getOrderedBuildTypes
@NotNull public List<SBuildType> getOrderedBuildTypes(@Nullable SProject project)
Description copied from interface:SUser
Returns the list of build configurations (in a project, or globally) sorted according to user settings. The configurations invisible for the user are omitted.- Specified by:
getOrderedBuildTypes
in interfaceSUser
- Overrides:
getOrderedBuildTypes
in classUserImpl
- Parameters:
project
- the project (can be null)- Returns:
- the list of build configurations
-
getFilteredVisibleBuildTypes
@NotNull public SortedMap<SProject,List<SBuildType>> getFilteredVisibleBuildTypes(@Nullable BuildTypeFilter filter)
Description copied from interface:UserEx
Returns sorted map of build configurations per project. The build configurations are sorted according to user settings.- Specified by:
getFilteredVisibleBuildTypes
in interfaceUserEx
- Overrides:
getFilteredVisibleBuildTypes
in classUserImpl
- Parameters:
filter
- filter of build configurations, can be null- Returns:
- sorted map of build types per project
-
setDefaultVcsUsernames
public void setDefaultVcsUsernames(@NotNull List<String> userNames)
- Specified by:
setDefaultVcsUsernames
in interfaceUserEx
- Overrides:
setDefaultVcsUsernames
in classUserImpl
-
setVcsUsernames
public void setVcsUsernames(@NotNull String vcsName, @NotNull List<String> userNames)
- Specified by:
setVcsUsernames
in interfaceUserEx
- Overrides:
setVcsUsernames
in classUserImpl
-
setVcsRootUsernames
public void setVcsRootUsernames(@NotNull VcsRoot root, @NotNull List<String> userNames)
- Specified by:
setVcsRootUsernames
in interfaceUserEx
- Overrides:
setVcsRootUsernames
in classUserImpl
-
setVcsUsernames
public void setVcsUsernames(@NotNull VcsUsernamePropertyKey key, @NotNull List<String> userNames)
- Specified by:
setVcsUsernames
in interfaceUserEx
- Overrides:
setVcsUsernames
in classUserImpl
-
addVcsUsername
public void addVcsUsername(@NotNull VcsUsernamePropertyKey key, @NotNull String userName)
- Specified by:
addVcsUsername
in interfaceUserEx
- Overrides:
addVcsUsername
in classUserImpl
-
getUserGroups
@NotNull public List<UserGroup> getUserGroups()
Description copied from interface:SUser
Returns the list of groups which this user belongs to. Only groups which contain this user directly are considered. If you need all user groups useSUser.getAllUserGroups()
.No specific order of the groups is guaranteed.
- Specified by:
getUserGroups
in interfaceSUser
- Overrides:
getUserGroups
in classBaseUser
- Returns:
- list of groups containing this user
- See Also:
SUser.getAllUserGroups()
-
getAllUserGroups
@NotNull public List<UserGroup> getAllUserGroups()
Description copied from interface:SUser
Returns the list of all user groups that include this user, directly or through intermediate subgroups.No specific order of the groups is guaranteed.
- Specified by:
getAllUserGroups
in interfaceSUser
- Overrides:
getAllUserGroups
in classBaseUser
- Returns:
- list of all groups containing this user
- See Also:
SUser.getUserGroups()
-
getAllUserGroupsUnfiltered
protected List<UserGroup> getAllUserGroupsUnfiltered()
- Overrides:
getAllUserGroupsUnfiltered
in classBaseUser
-
addRole
public void addRole(@NotNull RoleScope scope, @NotNull Role role) throws UserNotFoundException
Description copied from interface:RolesHolder
Adds role with specified scope- Specified by:
addRole
in interfaceRolesHolder
- Overrides:
addRole
in classUserImpl
- Parameters:
scope
- scope of the rolerole
- role- Throws:
UserNotFoundException
-
removeRole
public void removeRole(@NotNull RoleScope scope, @NotNull Role role) throws UserNotFoundException
Description copied from interface:RolesHolder
Removes role with specified scope- Specified by:
removeRole
in interfaceRolesHolder
- Overrides:
removeRole
in classUserImpl
- Parameters:
scope
- scope of the rolerole
- role- Throws:
UserNotFoundException
-
removeRoles
public void removeRoles(@NotNull RoleScope scope) throws UserNotFoundException
Description copied from interface:RolesHolder
Removes all of the roles having the specified scope.- Specified by:
removeRoles
in interfaceRolesHolder
- Overrides:
removeRoles
in classUserImpl
- Parameters:
scope
- scope of the role- Throws:
UserNotFoundException
-
removeRole
public void removeRole(@NotNull Role role)
Description copied from interface:RolesHolder
Removes specified role. If the role is associated with several scopes all of these roles will be removed.- Specified by:
removeRole
in interfaceRolesHolder
- Overrides:
removeRole
in classUserImpl
- Parameters:
role
- role to remove
-
setLastLoginTimestamp
public void setLastLoginTimestamp(@NotNull Date timestamp) throws UserNotFoundException
Description copied from interface:SUser
Updates last login timestamp- Specified by:
setLastLoginTimestamp
in interfaceSUser
- Overrides:
setLastLoginTimestamp
in classUserImpl
- Parameters:
timestamp
- last login timestamp- Throws:
UserNotFoundException
- if this user does not exist anymore
-
setAttribute
public void setAttribute(@NotNull String attributeKey, @NotNull String attributeValue)
Description copied from interface:UserEx
Set user attribute- Specified by:
setAttribute
in interfaceUserEx
- Overrides:
setAttribute
in classUserImpl
-
getAttribute
@Nullable public String getAttribute(@NotNull String attributeKey)
Description copied from interface:UserEx
Get user attribute- Specified by:
getAttribute
in interfaceUserEx
- Overrides:
getAttribute
in classUserImpl
- Returns:
- user attribute or null if there is no attribute with such key
-
getAttributes
@NotNull public Map<String,String> getAttributes()
Description copied from interface:UserEx
Get all user attributes- Specified by:
getAttributes
in interfaceUserEx
- Overrides:
getAttributes
in classUserImpl
- Returns:
- user attributes or an empty map
-
deleteAttribute
public void deleteAttribute(@NotNull String attributeKey)
Description copied from interface:UserEx
Delete user attribute- Specified by:
deleteAttribute
in interfaceUserEx
- Overrides:
deleteAttribute
in classUserImpl
-
resetCachedAttributes
public void resetCachedAttributes()
Description copied from interface:UserEx
Reset cached user attributes- Specified by:
resetCachedAttributes
in interfaceUserEx
- Overrides:
resetCachedAttributes
in classUserImpl
-
-