Package org.keycloak.storage.adapter
Class UpdateOnlyChangeUserModelDelegate
- java.lang.Object
-
- org.keycloak.models.utils.UserModelDelegate
-
- org.keycloak.storage.adapter.UpdateOnlyChangeUserModelDelegate
-
- All Implemented Interfaces:
RoleMapperModel
,UserModel
public class UpdateOnlyChangeUserModelDelegate extends UserModelDelegate
This will perform update operation for particular attribute/property just if the existing value is not already same. In other words, just "real updates" will be passed to the delegate.- Author:
- Marek Posolda
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.keycloak.models.UserModel
UserModel.RequiredAction, UserModel.SearchableFields, UserModel.Streams, UserModel.UserRemovedEvent
-
-
Field Summary
-
Fields inherited from class org.keycloak.models.utils.UserModelDelegate
delegate
-
Fields inherited from interface org.keycloak.models.UserModel
COMPARE_BY_USERNAME, DISABLED_REASON, EMAIL, EMAIL_VERIFIED, ENABLED, EXACT, FIRST_NAME, GROUPS, IDP_ALIAS, IDP_USER_ID, INCLUDE_SERVICE_ACCOUNT, LAST_NAME, LOCALE, SEARCH, USERNAME
-
-
Constructor Summary
Constructors Constructor Description UpdateOnlyChangeUserModelDelegate(UserModel delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRequiredAction(String action)
void
addRequiredAction(UserModel.RequiredAction action)
void
deleteRoleMapping(RoleModel role)
Removes the given role mapping from this object.void
grantRole(RoleModel role)
Grants the given role to this object.void
joinGroup(GroupModel group)
void
leaveGroup(GroupModel group)
void
removeAttribute(String name)
void
removeRequiredAction(String action)
void
removeRequiredAction(UserModel.RequiredAction action)
void
setAttribute(String name, List<String> values)
void
setCreatedTimestamp(Long timestamp)
void
setEmail(String email)
Sets email for this user.void
setEmailVerified(boolean verified)
void
setEnabled(boolean enabled)
void
setFederationLink(String link)
void
setFirstName(String firstName)
void
setLastName(String lastName)
void
setServiceAccountClientLink(String clientInternalId)
void
setSingleAttribute(String name, String value)
Set single value of specified attribute.void
setUsername(String username)
Sets username for this user.-
Methods inherited from class org.keycloak.models.utils.UserModelDelegate
credentialManager, equals, getAttributes, getAttributeStream, getClientRoleMappingsStream, getCreatedTimestamp, getDelegate, getEmail, getFederationLink, getFirstAttribute, getFirstName, getGroupsStream, getId, getLastName, getRealmRoleMappingsStream, getRequiredActionsStream, getRoleMappingsStream, getServiceAccountClientLink, getUsername, hashCode, hasRole, isEmailVerified, isEnabled, isMemberOf
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.models.RoleMapperModel
hasDirectRole
-
Methods inherited from interface org.keycloak.models.UserModel
getGroupsCount, getGroupsCountByNameContaining, getGroupsStream
-
-
-
-
Constructor Detail
-
UpdateOnlyChangeUserModelDelegate
public UpdateOnlyChangeUserModelDelegate(UserModel delegate)
-
-
Method Detail
-
setUsername
public void setUsername(String username)
Description copied from interface:UserModel
Sets username for this user. No default method here to allow Abstract subclasses where the username is provided in a different manner- Specified by:
setUsername
in interfaceUserModel
- Overrides:
setUsername
in classUserModelDelegate
- Parameters:
username
- username string
-
setEnabled
public void setEnabled(boolean enabled)
- Specified by:
setEnabled
in interfaceUserModel
- Overrides:
setEnabled
in classUserModelDelegate
-
setSingleAttribute
public void setSingleAttribute(String name, String value)
Description copied from interface:UserModel
Set single value of specified attribute. Remove all other existing values of this attribute- Specified by:
setSingleAttribute
in interfaceUserModel
- Overrides:
setSingleAttribute
in classUserModelDelegate
-
setAttribute
public void setAttribute(String name, List<String> values)
- Specified by:
setAttribute
in interfaceUserModel
- Overrides:
setAttribute
in classUserModelDelegate
-
removeAttribute
public void removeAttribute(String name)
- Specified by:
removeAttribute
in interfaceUserModel
- Overrides:
removeAttribute
in classUserModelDelegate
-
addRequiredAction
public void addRequiredAction(String action)
- Specified by:
addRequiredAction
in interfaceUserModel
- Overrides:
addRequiredAction
in classUserModelDelegate
-
removeRequiredAction
public void removeRequiredAction(String action)
- Specified by:
removeRequiredAction
in interfaceUserModel
- Overrides:
removeRequiredAction
in classUserModelDelegate
-
addRequiredAction
public void addRequiredAction(UserModel.RequiredAction action)
- Specified by:
addRequiredAction
in interfaceUserModel
- Overrides:
addRequiredAction
in classUserModelDelegate
-
removeRequiredAction
public void removeRequiredAction(UserModel.RequiredAction action)
- Specified by:
removeRequiredAction
in interfaceUserModel
- Overrides:
removeRequiredAction
in classUserModelDelegate
-
setFirstName
public void setFirstName(String firstName)
- Specified by:
setFirstName
in interfaceUserModel
- Overrides:
setFirstName
in classUserModelDelegate
-
setLastName
public void setLastName(String lastName)
- Specified by:
setLastName
in interfaceUserModel
- Overrides:
setLastName
in classUserModelDelegate
-
setEmail
public void setEmail(String email)
Description copied from interface:UserModel
Sets email for this user.- Specified by:
setEmail
in interfaceUserModel
- Overrides:
setEmail
in classUserModelDelegate
- Parameters:
email
- the email
-
setEmailVerified
public void setEmailVerified(boolean verified)
- Specified by:
setEmailVerified
in interfaceUserModel
- Overrides:
setEmailVerified
in classUserModelDelegate
-
grantRole
public void grantRole(RoleModel role)
Description copied from interface:RoleMapperModel
Grants the given role to this object.- Specified by:
grantRole
in interfaceRoleMapperModel
- Overrides:
grantRole
in classUserModelDelegate
-
deleteRoleMapping
public void deleteRoleMapping(RoleModel role)
Description copied from interface:RoleMapperModel
Removes the given role mapping from this object.- Specified by:
deleteRoleMapping
in interfaceRoleMapperModel
- Overrides:
deleteRoleMapping
in classUserModelDelegate
- Parameters:
role
- Role to remove
-
setFederationLink
public void setFederationLink(String link)
- Specified by:
setFederationLink
in interfaceUserModel
- Overrides:
setFederationLink
in classUserModelDelegate
-
setServiceAccountClientLink
public void setServiceAccountClientLink(String clientInternalId)
- Specified by:
setServiceAccountClientLink
in interfaceUserModel
- Overrides:
setServiceAccountClientLink
in classUserModelDelegate
-
setCreatedTimestamp
public void setCreatedTimestamp(Long timestamp)
- Specified by:
setCreatedTimestamp
in interfaceUserModel
- Overrides:
setCreatedTimestamp
in classUserModelDelegate
-
joinGroup
public void joinGroup(GroupModel group)
- Specified by:
joinGroup
in interfaceUserModel
- Overrides:
joinGroup
in classUserModelDelegate
-
leaveGroup
public void leaveGroup(GroupModel group)
- Specified by:
leaveGroup
in interfaceUserModel
- Overrides:
leaveGroup
in classUserModelDelegate
-
-