Package org.keycloak.storage.adapter
Class InMemoryUserAdapter
- java.lang.Object
- 
- org.keycloak.models.UserModelDefaultMethods
- 
- org.keycloak.models.UserModelDefaultMethods.Streams
- 
- org.keycloak.storage.adapter.InMemoryUserAdapter
 
 
 
- 
- All Implemented Interfaces:
- RoleMapperModel,- UserModel
 
 public class InMemoryUserAdapter extends UserModelDefaultMethods.Streams - Version:
- $Revision: 1 $
- Author:
- Bill Burke
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class org.keycloak.models.UserModelDefaultMethodsUserModelDefaultMethods.Streams
 - 
Nested classes/interfaces inherited from interface org.keycloak.models.UserModelUserModel.RequiredAction, UserModel.SearchableFields, UserModel.Streams, UserModel.UserRemovedEvent
 
- 
 - 
Field Summary- 
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 InMemoryUserAdapter(KeycloakSession session, RealmModel realm, String id)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDefaults()voidaddRequiredAction(String action)voidaddRequiredAction(UserModel.RequiredAction action)protected voidcheckReadonly()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.StringgetFederationLink()StringgetFirstAttribute(String name)Stream<GroupModel>getGroupsStream()Obtains the groups associated with the user.StringgetId()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)voidsetEmailVerified(boolean verified)voidsetEnabled(boolean enabled)voidsetFederationLink(String link)voidsetReadonly(boolean flag)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 org.keycloak.models.UserModelDefaultMethodsgetEmail, getFirstName, getLastName, setEmail, setFirstName, setLastName, toString
 - 
Methods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface org.keycloak.models.RoleMapperModelhasDirectRole
 - 
Methods inherited from interface org.keycloak.models.UserModelgetEmail, getFirstName, getGroupsCount, getGroupsCountByNameContaining, getGroupsStream, getLastName, setEmail, setFirstName, setLastName
 
- 
 
- 
- 
- 
Constructor Detail- 
InMemoryUserAdapterpublic InMemoryUserAdapter(KeycloakSession session, RealmModel realm, String id) 
 
- 
 - 
Method Detail- 
getUsernamepublic String getUsername() 
 - 
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- Parameters:
- username- username string
 
 - 
addDefaultspublic void addDefaults() 
 - 
setReadonlypublic void setReadonly(boolean flag) 
 - 
checkReadonlyprotected void checkReadonly() 
 - 
getIdpublic String getId() 
 - 
getCreatedTimestamppublic Long getCreatedTimestamp() Description copied from interface:UserModelGet timestamp of user creation. May be null for old users created before this feature introduction.
 - 
setCreatedTimestamppublic void setCreatedTimestamp(Long timestamp) 
 - 
isEnabledpublic boolean isEnabled() 
 - 
setEnabledpublic void setEnabled(boolean enabled) 
 - 
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
 - 
removeAttributepublic void removeAttribute(String name) 
 - 
getFirstAttributepublic String getFirstAttribute(String name) - 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.- Parameters:
- name- the name of the attribute.
- Returns:
- a non-null Streamof attribute values.
 
 - 
getRequiredActionsStreampublic Stream<String> getRequiredActionsStream() Description copied from interface:UserModelObtains the names of required actions associated with the user.- Returns:
- a non-null Streamof required action names.
 
 - 
addRequiredActionpublic void addRequiredAction(String action) 
 - 
removeRequiredActionpublic void removeRequiredAction(String action) 
 - 
addRequiredActionpublic void addRequiredAction(UserModel.RequiredAction action) 
 - 
removeRequiredActionpublic void removeRequiredAction(UserModel.RequiredAction action) 
 - 
isEmailVerifiedpublic boolean isEmailVerified() 
 - 
setEmailVerifiedpublic void setEmailVerified(boolean verified) 
 - 
getGroupsStreampublic Stream<GroupModel> getGroupsStream() Description copied from interface:UserModelObtains the groups associated with the user.- Returns:
- a non-null Streamof groups.
 
 - 
joinGrouppublic void joinGroup(GroupModel group) 
 - 
leaveGrouppublic void leaveGroup(GroupModel group) 
 - 
isMemberOfpublic boolean isMemberOf(GroupModel group) 
 - 
getFederationLinkpublic String getFederationLink() 
 - 
setFederationLinkpublic void setFederationLink(String link) 
 - 
getServiceAccountClientLinkpublic String getServiceAccountClientLink() 
 - 
setServiceAccountClientLinkpublic void setServiceAccountClientLink(String clientInternalId) 
 - 
credentialManagerpublic SubjectCredentialManager credentialManager() Description copied from interface:UserModelInstance of a user credential manager to validate and update the credentials of this user.
 - 
getRealmRoleMappingsStreampublic Stream<RoleModel> getRealmRoleMappingsStream() Description copied from interface:RoleMapperModelReturns stream of realm roles that are directly set to this object.- 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.- 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
 - 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.
 - 
getRoleMappingsStreampublic Stream<RoleModel> getRoleMappingsStream() Description copied from interface:RoleMapperModelReturns stream of all role (both realm all client) that are directly set to this object.- Returns:
- Stream of RoleModel. Never returnsnull.
 
 - 
deleteRoleMappingpublic void deleteRoleMapping(RoleModel role) Description copied from interface:RoleMapperModelRemoves the given role mapping from this object.- Parameters:
- role- Role to remove
 
 
- 
 
-