Class UserAdapter
- java.lang.Object
- 
- org.keycloak.models.cache.infinispan.UserAdapter
 
- 
- All Implemented Interfaces:
- CachedUserModel,- RoleMapperModel,- UserModel
 
 public class UserAdapter extends Object implements CachedUserModel - Version:
- $Revision: 1 $
- Author:
- Bill Burke
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from interface org.keycloak.models.cache.CachedUserModelCachedUserModel.Streams
 - 
Nested classes/interfaces inherited from interface org.keycloak.models.UserModelUserModel.RequiredAction, UserModel.SearchableFields, UserModel.UserRemovedEvent
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected CachedUsercachedprotected KeycloakSessionkeycloakSessionprotected RealmModelrealmprotected UserModelupdatedprotected UserCacheSessionuserProviderCache- 
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 UserAdapter(CachedUser cached, UserCacheSession userProvider, KeycloakSession keycloakSession, RealmModel realm)
 - 
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.ConcurrentHashMapgetCachedWith()Returns a map that contains custom things that are cached along with this model.longgetCacheTimestamp()When was the model was loaded from database.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.UserModelgetDelegateForUpdate()Invalidates the cache for this user and returns a delegate that represents the actual data providerStringgetEmail()StringgetFederationLink()StringgetFirstAttribute(String name)StringgetFirstName()longgetGroupsCountByNameContaining(String search)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.booleanhasDirectRole(RoleModel role)Returnstrue, if this object is directly assigned the given role.inthashCode()booleanhasRole(RoleModel role)Returnstrueif this object is directly or indirectly assigned the given role,falseotherwise.voidinvalidate()Invalidate the cache for this modelbooleanisEmailVerified()booleanisEnabled()booleanisMarkedForEviction()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.UserModelgetGroupsCount, getGroupsStream
 
- 
 
- 
- 
- 
Field Detail- 
cachedprotected final CachedUser cached 
 - 
userProviderCacheprotected final UserCacheSession userProviderCache 
 - 
keycloakSessionprotected final KeycloakSession keycloakSession 
 - 
realmprotected final RealmModel realm 
 - 
updatedprotected volatile UserModel updated 
 
- 
 - 
Constructor Detail- 
UserAdapterpublic UserAdapter(CachedUser cached, UserCacheSession userProvider, KeycloakSession keycloakSession, RealmModel realm) 
 
- 
 - 
Method Detail- 
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.
 - 
getDelegateForUpdatepublic UserModel getDelegateForUpdate() Description copied from interface:CachedUserModelInvalidates the cache for this user and returns a delegate that represents the actual data provider- Specified by:
- getDelegateForUpdatein interface- CachedUserModel
- Returns:
 
 - 
isMarkedForEvictionpublic boolean isMarkedForEviction() - Specified by:
- isMarkedForEvictionin interface- CachedUserModel
 
 - 
invalidatepublic void invalidate() Description copied from interface:CachedUserModelInvalidate the cache for this model- Specified by:
- invalidatein interface- CachedUserModel
 
 - 
getCacheTimestamppublic long getCacheTimestamp() Description copied from interface:CachedUserModelWhen was the model was loaded from database.- Specified by:
- getCacheTimestampin interface- CachedUserModel
- Returns:
 
 - 
getCachedWithpublic ConcurrentHashMap getCachedWith() Description copied from interface:CachedUserModelReturns a map that contains custom things that are cached along with this model. You can write to this map.- Specified by:
- getCachedWithin interface- CachedUserModel
- Returns:
 
 - 
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
 
 - 
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
 
 - 
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(UserModel.RequiredAction action) - Specified by:
- addRequiredActionin interface- UserModel
 
 - 
removeRequiredActionpublic void removeRequiredAction(UserModel.RequiredAction action) - Specified by:
- removeRequiredActionin interface- UserModel
 
 - 
addRequiredActionpublic void addRequiredAction(String action) - Specified by:
- addRequiredActionin interface- UserModel
 
 - 
removeRequiredActionpublic void removeRequiredAction(String action) - Specified by:
- removeRequiredActionin interface- UserModel
 
 - 
isEmailVerifiedpublic boolean isEmailVerified() - Specified by:
- isEmailVerifiedin interface- UserModel
 
 - 
setEmailVerifiedpublic void setEmailVerified(boolean verified) - Specified by:
- setEmailVerifiedin interface- UserModel
 
 - 
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
 
 - 
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.
 
 - 
hasDirectRolepublic boolean hasDirectRole(RoleModel role) Description copied from interface:RoleMapperModelReturnstrue, if this object is directly assigned the given role.- Specified by:
- hasDirectRolein interface- RoleMapperModel
- Parameters:
- role- the role
- Returns:
- see description
- See Also:
- if you want to check whether this object is directly or indirectly assigned to a role
 
 - 
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
 
 - 
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.
 
 - 
getGroupsCountByNameContainingpublic long getGroupsCountByNameContaining(String search) - Specified by:
- getGroupsCountByNameContainingin interface- UserModel
 
 - 
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
 
 
- 
 
-