Class AbstractInMemoryUserAdapter

java.lang.Object
org.keycloak.models.UserModelDefaultMethods
org.keycloak.storage.adapter.AbstractInMemoryUserAdapter
All Implemented Interfaces:
Model, 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()
      Description copied from interface: Model

      Returns the unique identifier of this model. The identifier is generated by the persistence layer and is not supposed to be manually set. It is used internally to identify the model and should not be confused with any user-facing identifier, such as a username or email.

      The identifier is immutable and should not be changed after the model is created.

      Returns:
      the unique identifier of this model, not null
    • 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 aliases of required actions associated with the user.
      Returns:
      a non-null Stream of required action aliases.
    • 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