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.UserModelUserModel.RequiredAction, UserModel.SearchableFields, UserModel.Streams, UserModel.UserRemovedEvent
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected UserModeldelegate- 
Fields inherited from interface org.keycloak.models.UserModelCOMPARE_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 SummaryConstructors Constructor Description UserModelDelegate(UserModel delegate)
 - 
Method SummaryAll 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.Objectclone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.keycloak.models.RoleMapperModelhasDirectRole
 - 
Methods inherited from interface org.keycloak.models.UserModelgetGroupsCount, getGroupsCountByNameContaining, getGroupsStream
 
- 
 
- 
- 
- 
Field Detail- 
delegateprotected UserModel delegate 
 
- 
 - 
Constructor Detail- 
UserModelDelegatepublic UserModelDelegate(UserModel delegate) 
 
- 
 - 
Method Detail- 
getUsernamepublic String getUsername() - Specified by:
- getUsernamein interface- UserModel
 
 - 
setUsernamepublic 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 interface- UserModel
- Parameters:
- username- username string
 
 - 
setEnabledpublic void setEnabled(boolean enabled) - Specified by:
- setEnabledin interface- UserModel
 
 - 
setSingleAttributepublic 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 interface- UserModel
 
 - 
setAttributepublic void setAttribute(String name, List<String> values) - Specified by:
- setAttributein interface- UserModel
 
 - 
removeAttributepublic void removeAttribute(String name) - Specified by:
- removeAttributein interface- UserModel
 
 - 
getFirstAttributepublic String getFirstAttribute(String name) - Specified by:
- getFirstAttributein interface- UserModel
- 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
 
 - 
getAttributeStreampublic Stream<String> getAttributeStream(String name) Description copied from interface:UserModelObtains all values associated with the specified attribute name.- Specified by:
- getAttributeStreamin interface- UserModel
- Parameters:
- name- the name of the attribute.
- Returns:
- a non-null Streamof attribute values.
 
 - 
getAttributespublic Map<String,List<String>> getAttributes() - Specified by:
- getAttributesin interface- UserModel
 
 - 
getRequiredActionsStreampublic Stream<String> getRequiredActionsStream() Description copied from interface:UserModelObtains the names of required actions associated with the user.- Specified by:
- getRequiredActionsStreamin interface- UserModel
- Returns:
- a non-null Streamof required action names.
 
 - 
addRequiredActionpublic void addRequiredAction(String action) - Specified by:
- addRequiredActionin interface- UserModel
 
 - 
removeRequiredActionpublic void removeRequiredAction(String action) - Specified by:
- removeRequiredActionin interface- UserModel
 
 - 
addRequiredActionpublic void addRequiredAction(UserModel.RequiredAction action) - Specified by:
- addRequiredActionin interface- UserModel
 
 - 
removeRequiredActionpublic void removeRequiredAction(UserModel.RequiredAction action) - Specified by:
- removeRequiredActionin interface- UserModel
 
 - 
getFirstNamepublic String getFirstName() - Specified by:
- getFirstNamein interface- UserModel
 
 - 
setFirstNamepublic void setFirstName(String firstName) - Specified by:
- setFirstNamein interface- UserModel
 
 - 
getLastNamepublic String getLastName() - Specified by:
- getLastNamein interface- UserModel
 
 - 
setLastNamepublic void setLastName(String lastName) - Specified by:
- setLastNamein interface- UserModel
 
 - 
setEmailpublic void setEmail(String email) Description copied from interface:UserModelSets email for this user.
 - 
isEmailVerifiedpublic boolean isEmailVerified() - Specified by:
- isEmailVerifiedin interface- UserModel
 
 - 
setEmailVerifiedpublic void setEmailVerified(boolean verified) - Specified by:
- setEmailVerifiedin interface- UserModel
 
 - 
getRealmRoleMappingsStreampublic Stream<RoleModel> getRealmRoleMappingsStream() Description copied from interface:RoleMapperModelReturns stream of realm roles that are directly set to this object.- Specified by:
- getRealmRoleMappingsStreamin interface- RoleMapperModel
- Returns:
- Stream of RoleModel. Never returnsnull.
 
 - 
getClientRoleMappingsStreampublic 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 interface- RoleMapperModel
- Parameters:
- app-- ClientModelClient to get the roles for.
- Returns:
- Stream of RoleModel. Never returnsnull.
 
 - 
hasRolepublic 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 interface- RoleMapperModel
- Returns:
- see description
- See Also:
- if you want to check if this object is directly assigned to a role
 
 - 
grantRolepublic void grantRole(RoleModel role) Description copied from interface:RoleMapperModelGrants the given role to this object.- Specified by:
- grantRolein interface- RoleMapperModel
 
 - 
getRoleMappingsStreampublic 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 interface- RoleMapperModel
- Returns:
- Stream of RoleModel. Never returnsnull.
 
 - 
deleteRoleMappingpublic void deleteRoleMapping(RoleModel role) Description copied from interface:RoleMapperModelRemoves the given role mapping from this object.- Specified by:
- deleteRoleMappingin interface- RoleMapperModel
- Parameters:
- role- Role to remove
 
 - 
getFederationLinkpublic String getFederationLink() - Specified by:
- getFederationLinkin interface- UserModel
 
 - 
setFederationLinkpublic void setFederationLink(String link) - Specified by:
- setFederationLinkin interface- UserModel
 
 - 
getServiceAccountClientLinkpublic String getServiceAccountClientLink() - Specified by:
- getServiceAccountClientLinkin interface- UserModel
 
 - 
setServiceAccountClientLinkpublic void setServiceAccountClientLink(String clientInternalId) - Specified by:
- setServiceAccountClientLinkin interface- UserModel
 
 - 
credentialManagerpublic SubjectCredentialManager credentialManager() Description copied from interface:UserModelInstance of a user credential manager to validate and update the credentials of this user.- Specified by:
- credentialManagerin interface- UserModel
 
 - 
getDelegatepublic UserModel getDelegate() 
 - 
getCreatedTimestamppublic 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 interface- UserModel
 
 - 
setCreatedTimestamppublic void setCreatedTimestamp(Long timestamp) - Specified by:
- setCreatedTimestampin interface- UserModel
 
 - 
getGroupsStreampublic Stream<GroupModel> getGroupsStream() Description copied from interface:UserModelObtains the groups associated with the user.- Specified by:
- getGroupsStreamin interface- UserModel
- Returns:
- a non-null Streamof groups.
 
 - 
joinGrouppublic void joinGroup(GroupModel group) 
 - 
leaveGrouppublic void leaveGroup(GroupModel group) - Specified by:
- leaveGroupin interface- UserModel
 
 - 
isMemberOfpublic boolean isMemberOf(GroupModel group) - Specified by:
- isMemberOfin interface- UserModel
 
 
- 
 
-