Package org.keycloak.models.utils
Class UserModelDelegate
- java.lang.Object
-
- org.keycloak.models.utils.UserModelDelegate
-
- All Implemented Interfaces:
RoleMapperModel,UserModel
- Direct Known Subclasses:
GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate,LDAPWritesOnlyUserModelDelegate,MSADLDSUserAccountControlStorageMapper.MSADUserModelDelegate,ReadOnlyKerberosUserModelDelegate,ReadonlyLDAPUserModelDelegate,ReadonlySSSDUserModelDelegate,ReadOnlyUserModelDelegate,RoleLDAPStorageMapper.LDAPRoleMappingsUserDelegate,TxAwareLDAPUserModelDelegate,UpdateOnlyChangeUserModelDelegate
public class UserModelDelegate extends Object implements UserModel
Delegation pattern. Used to proxy UserModel implementations.- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.keycloak.models.UserModel
UserModel.RequiredAction, UserModel.SearchableFields, UserModel.Streams, UserModel.UserRemovedEvent
-
-
Field Summary
Fields Modifier and Type Field Description protected UserModeldelegate-
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 UserModelDelegate(UserModel delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRequiredAction(String action)voidaddRequiredAction(UserModel.RequiredAction action)SubjectCredentialManagercredentialManager()Instance of a user credential manager to validate and update the credentials of this user.voiddeleteRoleMapping(RoleModel role)Removes the given role mapping from this object.booleanequals(Object o)Map<String,List<String>>getAttributes()Stream<String>getAttributeStream(String name)Obtains all values associated with the specified attribute name.Stream<RoleModel>getClientRoleMappingsStream(ClientModel app)Returns stream of client roles that are directly set to this object for the given client.LonggetCreatedTimestamp()Get timestamp of user creation.UserModelgetDelegate()StringgetEmail()StringgetFederationLink()StringgetFirstAttribute(String name)StringgetFirstName()Stream<GroupModel>getGroupsStream()Obtains the groups associated with the user.StringgetId()StringgetLastName()Stream<RoleModel>getRealmRoleMappingsStream()Returns stream of realm roles that are directly set to this object.Stream<String>getRequiredActionsStream()Obtains the names of required actions associated with the user.Stream<RoleModel>getRoleMappingsStream()Returns stream of all role (both realm all client) that are directly set to this object.StringgetServiceAccountClientLink()StringgetUsername()voidgrantRole(RoleModel role)Grants the given role to this object.inthashCode()booleanhasRole(RoleModel role)Returnstrueif this object is directly or indirectly assigned the given role,falseotherwise.booleanisEmailVerified()booleanisEnabled()booleanisMemberOf(GroupModel group)voidjoinGroup(GroupModel group)voidleaveGroup(GroupModel group)voidremoveAttribute(String name)voidremoveRequiredAction(String action)voidremoveRequiredAction(UserModel.RequiredAction action)voidsetAttribute(String name, List<String> values)voidsetCreatedTimestamp(Long timestamp)voidsetEmail(String email)Sets email for this user.voidsetEmailVerified(boolean verified)voidsetEnabled(boolean enabled)voidsetFederationLink(String link)voidsetFirstName(String firstName)voidsetLastName(String lastName)voidsetServiceAccountClientLink(String clientInternalId)voidsetSingleAttribute(String name, String value)Set single value of specified attribute.voidsetUsername(String username)Sets username for this user.-
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
-
-
-
-
Field Detail
-
delegate
protected UserModel delegate
-
-
Constructor Detail
-
UserModelDelegate
public UserModelDelegate(UserModel delegate)
-
-
Method Detail
-
getUsername
public String getUsername()
- Specified by:
getUsernamein interfaceUserModel
-
setUsername
public void setUsername(String username)
Description copied from interface:UserModelSets username for this user. No default method here to allow Abstract subclasses where the username is provided in a different manner- Specified by:
setUsernamein interfaceUserModel- Parameters:
username- username string
-
setEnabled
public void setEnabled(boolean enabled)
- Specified by:
setEnabledin interfaceUserModel
-
setSingleAttribute
public void setSingleAttribute(String name, String value)
Description copied from interface:UserModelSet single value of specified attribute. Remove all other existing values of this attribute- Specified by:
setSingleAttributein interfaceUserModel
-
setAttribute
public void setAttribute(String name, List<String> values)
- Specified by:
setAttributein interfaceUserModel
-
removeAttribute
public void removeAttribute(String name)
- Specified by:
removeAttributein interfaceUserModel
-
getFirstAttribute
public String getFirstAttribute(String name)
- Specified by:
getFirstAttributein interfaceUserModel- Returns:
- null if there is not any value of specified attribute or first value otherwise. Don't throw exception if there are more values of the attribute
-
getAttributeStream
public Stream<String> getAttributeStream(String name)
Description copied from interface:UserModelObtains all values associated with the specified attribute name.- Specified by:
getAttributeStreamin interfaceUserModel- Parameters:
name- the name of the attribute.- Returns:
- a non-null
Streamof attribute values.
-
getAttributes
public Map<String,List<String>> getAttributes()
- Specified by:
getAttributesin interfaceUserModel
-
getRequiredActionsStream
public Stream<String> getRequiredActionsStream()
Description copied from interface:UserModelObtains the names of required actions associated with the user.- Specified by:
getRequiredActionsStreamin interfaceUserModel- Returns:
- a non-null
Streamof required action names.
-
addRequiredAction
public void addRequiredAction(String action)
- Specified by:
addRequiredActionin interfaceUserModel
-
removeRequiredAction
public void removeRequiredAction(String action)
- Specified by:
removeRequiredActionin interfaceUserModel
-
addRequiredAction
public void addRequiredAction(UserModel.RequiredAction action)
- Specified by:
addRequiredActionin interfaceUserModel
-
removeRequiredAction
public void removeRequiredAction(UserModel.RequiredAction action)
- Specified by:
removeRequiredActionin interfaceUserModel
-
getFirstName
public String getFirstName()
- Specified by:
getFirstNamein interfaceUserModel
-
setFirstName
public void setFirstName(String firstName)
- Specified by:
setFirstNamein interfaceUserModel
-
getLastName
public String getLastName()
- Specified by:
getLastNamein interfaceUserModel
-
setLastName
public void setLastName(String lastName)
- Specified by:
setLastNamein interfaceUserModel
-
setEmail
public void setEmail(String email)
Description copied from interface:UserModelSets email for this user.
-
isEmailVerified
public boolean isEmailVerified()
- Specified by:
isEmailVerifiedin interfaceUserModel
-
setEmailVerified
public void setEmailVerified(boolean verified)
- Specified by:
setEmailVerifiedin interfaceUserModel
-
getRealmRoleMappingsStream
public Stream<RoleModel> getRealmRoleMappingsStream()
Description copied from interface:RoleMapperModelReturns stream of realm roles that are directly set to this object.- Specified by:
getRealmRoleMappingsStreamin interfaceRoleMapperModel- Returns:
- Stream of
RoleModel. Never returnsnull.
-
getClientRoleMappingsStream
public Stream<RoleModel> getClientRoleMappingsStream(ClientModel app)
Description copied from interface:RoleMapperModelReturns stream of client roles that are directly set to this object for the given client.- Specified by:
getClientRoleMappingsStreamin interfaceRoleMapperModel- Parameters:
app-ClientModelClient to get the roles for.- Returns:
- Stream of
RoleModel. Never returnsnull.
-
hasRole
public boolean hasRole(RoleModel role)
Description copied from interface:RoleMapperModelReturnstrueif this object is directly or indirectly assigned the given role,falseotherwise.For example,
trueis returned for hasRole(R) if:- R is directly assigned to this object
- R is indirectly assigned to this object via composites
- R is not assigned to this object but this object belongs to a group G which is assigned the role R
- R is not assigned to this object but this object belongs to a group G, and G belongs to group H which is assigned the role R
- Specified by:
hasRolein interfaceRoleMapperModel- Returns:
- see description
- See Also:
if you want to check if this object is directly assigned to a role
-
grantRole
public void grantRole(RoleModel role)
Description copied from interface:RoleMapperModelGrants the given role to this object.- Specified by:
grantRolein interfaceRoleMapperModel
-
getRoleMappingsStream
public Stream<RoleModel> getRoleMappingsStream()
Description copied from interface:RoleMapperModelReturns stream of all role (both realm all client) that are directly set to this object.- Specified by:
getRoleMappingsStreamin interfaceRoleMapperModel- Returns:
- Stream of
RoleModel. Never returnsnull.
-
deleteRoleMapping
public void deleteRoleMapping(RoleModel role)
Description copied from interface:RoleMapperModelRemoves the given role mapping from this object.- Specified by:
deleteRoleMappingin interfaceRoleMapperModel- Parameters:
role- Role to remove
-
getFederationLink
public String getFederationLink()
- Specified by:
getFederationLinkin interfaceUserModel
-
setFederationLink
public void setFederationLink(String link)
- Specified by:
setFederationLinkin interfaceUserModel
-
getServiceAccountClientLink
public String getServiceAccountClientLink()
- Specified by:
getServiceAccountClientLinkin interfaceUserModel
-
setServiceAccountClientLink
public void setServiceAccountClientLink(String clientInternalId)
- Specified by:
setServiceAccountClientLinkin interfaceUserModel
-
credentialManager
public SubjectCredentialManager credentialManager()
Description copied from interface:UserModelInstance of a user credential manager to validate and update the credentials of this user.- Specified by:
credentialManagerin interfaceUserModel
-
getDelegate
public UserModel getDelegate()
-
getCreatedTimestamp
public Long getCreatedTimestamp()
Description copied from interface:UserModelGet timestamp of user creation. May be null for old users created before this feature introduction.- Specified by:
getCreatedTimestampin interfaceUserModel
-
setCreatedTimestamp
public void setCreatedTimestamp(Long timestamp)
- Specified by:
setCreatedTimestampin interfaceUserModel
-
getGroupsStream
public Stream<GroupModel> getGroupsStream()
Description copied from interface:UserModelObtains the groups associated with the user.- Specified by:
getGroupsStreamin interfaceUserModel- Returns:
- a non-null
Streamof groups.
-
joinGroup
public void joinGroup(GroupModel group)
-
leaveGroup
public void leaveGroup(GroupModel group)
- Specified by:
leaveGroupin interfaceUserModel
-
isMemberOf
public boolean isMemberOf(GroupModel group)
- Specified by:
isMemberOfin interfaceUserModel
-
-