org.keycloak.federation.sssd

## Class ReadonlySSSDUserModelDelegate

- java.lang.Object
- - org.keycloak.models.utils.UserModelDelegate
  - - org.keycloak.federation.sssd.ReadonlySSSDUserModelDelegate

- All Implemented Interfaces:
    RoleMapperModel, RoleMapperModel.Streams, UserModel, UserModel.Streams

      public class ReadonlySSSDUserModelDelegate
      extends UserModelDelegate
      implements UserModel

  Readonly proxy for a SSSD UserModel that prevents attributes from being updated.
  Version:
    $Revision: 1 $
  Author:
    Bill Burke, Bruno Oliveira

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.keycloak.models.UserModel

      `UserModel.RequiredAction, UserModel.SearchableFields, UserModel.Streams, UserModel.UserRemovedEvent`

  - ### Field Summary

    - ### Fields inherited from class org.keycloak.models.utils.UserModelDelegate

      `delegate`

    - ### Fields inherited from interface org.keycloak.models.UserModel

      `COMPARE_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 Summary

    Constructors
    Constructor and Description
    `ReadonlySSSDUserModelDelegate(UserModel delegate, SSSDFederationProvider provider)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `setAttribute(String name, List<String> value)`
    `void` | `setEmail(String email)` Sets email for this user.
    `void` | `setFirstName(String first)`
    `void` | `setLastName(String lastName)`
    `void` | `setSingleAttribute(String name, String value)` Set single value of specified attribute.
    `void` | `setUsername(String username)` Sets username for this user.

    - ### Methods inherited from class org.keycloak.models.utils.UserModelDelegate

      `addRequiredAction, addRequiredAction, deleteRoleMapping, equals, getAttributes, getAttributeStream, getClientRoleMappingsStream, getCreatedTimestamp, getDelegate, getEmail, getFederationLink, getFirstAttribute, getFirstName, getGroupsStream, getId, getLastName, getRealmRoleMappingsStream, getRequiredActionsStream, getRoleMappingsStream, getServiceAccountClientLink, getUsername, grantRole, hashCode, hasRole, isEmailVerified, isEnabled, isMemberOf, joinGroup, leaveGroup, removeAttribute, removeRequiredAction, removeRequiredAction, setCreatedTimestamp, setEmailVerified, setEnabled, setFederationLink, setServiceAccountClientLink`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.keycloak.models.UserModel

      `addRequiredAction, addRequiredAction, getAttribute, getAttributes, getAttributeStream, getCreatedTimestamp, getEmail, getFederationLink, getFirstAttribute, getFirstName, getGroups, getGroups, getGroups, getGroupsCount, getGroupsCountByNameContaining, getGroupsStream, getGroupsStream, getId, getLastName, getRequiredActions, getRequiredActionsStream, getServiceAccountClientLink, getUsername, isEmailVerified, isEnabled, isMemberOf, joinGroup, leaveGroup, removeAttribute, removeRequiredAction, removeRequiredAction, setCreatedTimestamp, setEmailVerified, setEnabled, setFederationLink, setServiceAccountClientLink`

    - ### Methods inherited from interface org.keycloak.models.RoleMapperModel

      `deleteRoleMapping, getClientRoleMappings, getClientRoleMappingsStream, getRealmRoleMappings, getRealmRoleMappingsStream, getRoleMappings, getRoleMappingsStream, grantRole, hasRole`

    - ### Methods inherited from interface org.keycloak.models.UserModel.Streams

      `getAttribute, getGroups, getRequiredActions`

    - ### Methods inherited from interface org.keycloak.models.RoleMapperModel.Streams

      `getClientRoleMappings, getRealmRoleMappings, getRoleMappings`

- - ### Constructor Detail

    - #### ReadonlySSSDUserModelDelegate

          public ReadonlySSSDUserModelDelegate(UserModel delegate,
                                               SSSDFederationProvider provider)

  - ### Method Detail

    - #### 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
      Specified by:
        `setUsername` in interface `UserModel`
      Overrides:
        `setUsername` in class `UserModelDelegate`
      Parameters:
        `username` - username string

    - #### setLastName

          public void setLastName(String lastName)

      Specified by:
        `setLastName` in interface `UserModel`
      Overrides:
        `setLastName` in class `UserModelDelegate`

    - #### setFirstName

          public void setFirstName(String first)

      Specified by:
        `setFirstName` in interface `UserModel`
      Overrides:
        `setFirstName` in class `UserModelDelegate`

    - #### 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
      Specified by:
        `setSingleAttribute` in interface `UserModel`
      Overrides:
        `setSingleAttribute` in class `UserModelDelegate`

    - #### setAttribute

          public void setAttribute(String name,
                                   List<String> value)

      Specified by:
        `setAttribute` in interface `UserModel`
      Overrides:
        `setAttribute` in class `UserModelDelegate`

    - #### setEmail

          public void setEmail(String email)

      Description copied from interface: `UserModel`
      Sets email for this user.
      Specified by:
        `setEmail` in interface `UserModel`
      Overrides:
        `setEmail` in class `UserModelDelegate`
      Parameters:
        `email` - the email

Copyright © 2021 JBoss by Red Hat. All rights reserved.