Class AbstractInMemoryUserAdapter

java.lang.Object
org.keycloak.models.UserModelDefaultMethods
org.keycloak.storage.adapter.AbstractInMemoryUserAdapter
All Implemented Interfaces:
RoleMapperModel, UserModel
Direct Known Subclasses:
InMemoryUserAdapter, LightweightUserAdapter

public abstract class AbstractInMemoryUserAdapter extends UserModelDefaultMethods
Version:
$Revision: 1 $
Author:
Bill Burke
  • Field Details

  • Constructor Details

    • AbstractInMemoryUserAdapter

      protected AbstractInMemoryUserAdapter()
    • AbstractInMemoryUserAdapter

      protected AbstractInMemoryUserAdapter(KeycloakSession session, RealmModel realm, String id)
  • Method Details

    • getUsername

      public String getUsername()
    • 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
      Parameters:
      username - username string
    • addDefaults

      public void addDefaults()
    • setReadonly

      public void setReadonly(boolean flag)
    • checkReadonly

      protected void checkReadonly()
    • getId

      public String getId()
    • getCreatedTimestamp

      public Long getCreatedTimestamp()
      Description copied from interface: UserModel
      Get timestamp of user creation. May be null for old users created before this feature introduction.
    • setCreatedTimestamp

      public void setCreatedTimestamp(Long timestamp)
    • isEnabled

      public boolean isEnabled()
    • setEnabled

      public void setEnabled(boolean enabled)
    • 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
    • setAttribute

      public void setAttribute(String name, List<String> values)
    • removeAttribute

      public void removeAttribute(String name)
    • getFirstAttribute

      public 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
    • getAttributeStream

      public Stream<String> getAttributeStream(String name)
      Description copied from interface: UserModel
      Obtains all values associated with the specified attribute name.
      Parameters:
      name - the name of the attribute.
      Returns:
      a non-null Stream of attribute values.
    • getAttributes

      public Map<String,List<String>> getAttributes()
    • getRequiredActionsStream

      public Stream<String> getRequiredActionsStream()
      Description copied from interface: UserModel
      Obtains the names of required actions associated with the user.
      Returns:
      a non-null Stream of required action names.
    • addRequiredAction

      public void addRequiredAction(String action)
    • removeRequiredAction

      public void removeRequiredAction(String action)
    • addRequiredAction

      public void addRequiredAction(UserModel.RequiredAction action)
    • removeRequiredAction

      public void removeRequiredAction(UserModel.RequiredAction action)
    • isEmailVerified

      public boolean isEmailVerified()
    • setEmailVerified

      public void setEmailVerified(boolean verified)
    • getGroupsStream

      public Stream<GroupModel> getGroupsStream()
      Description copied from interface: UserModel
      Obtains the groups associated with the user.
      Returns:
      a non-null Stream of groups.
    • joinGroup

      public void joinGroup(GroupModel group)
    • leaveGroup

      public void leaveGroup(GroupModel group)
    • isMemberOf

      public boolean isMemberOf(GroupModel group)
    • getFederationLink

      public String getFederationLink()
    • setFederationLink

      public void setFederationLink(String link)
    • getServiceAccountClientLink

      public String getServiceAccountClientLink()
    • setServiceAccountClientLink

      public void setServiceAccountClientLink(String clientInternalId)
    • getRealmRoleMappingsStream

      public Stream<RoleModel> getRealmRoleMappingsStream()
      Description copied from interface: RoleMapperModel
      Returns stream of realm roles that are directly set to this object.
      Returns:
      Stream of RoleModel. Never returns null.
    • getClientRoleMappingsStream

      public Stream<RoleModel> getClientRoleMappingsStream(ClientModel app)
      Description copied from interface: RoleMapperModel
      Returns stream of client roles that are directly set to this object for the given client.
      Parameters:
      app - ClientModel Client to get the roles for.
      Returns:
      Stream of RoleModel. Never returns null.
    • hasRole

      public boolean hasRole(RoleModel role)
      Description copied from interface: RoleMapperModel
      Returns true if this object is directly or indirectly assigned the given role, false otherwise.

      For example, true is 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:
    • grantRole

      public void grantRole(RoleModel role)
      Description copied from interface: RoleMapperModel
      Grants the given role to this object.
    • getRoleMappingsStream

      public Stream<RoleModel> getRoleMappingsStream()
      Description copied from interface: RoleMapperModel
      Returns stream of all role (both realm all client) that are directly set to this object.
      Returns:
      Stream of RoleModel. Never returns null.
    • deleteRoleMapping

      public void deleteRoleMapping(RoleModel role)
      Description copied from interface: RoleMapperModel
      Removes the given role mapping from this object.
      Parameters:
      role - Role to remove
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object