Interface UserModel

All Superinterfaces:
RoleMapperModel
All Known Subinterfaces:
CachedUserModel
All Known Implementing Classes:
AbstractInMemoryUserAdapter, AbstractUserAdapter, AbstractUserAdapter.Streams, AbstractUserAdapterFederatedStorage, AbstractUserAdapterFederatedStorage.Streams, GroupLDAPStorageMapper.LDAPGroupMappingsUserDelegate, InMemoryUserAdapter, LDAPWritesOnlyUserModelDelegate, LightweightUserAdapter, MSADLDSUserAccountControlStorageMapper.MSADUserModelDelegate, MSADUserAccountControlStorageMapper.MSADUserModelDelegate, ReadOnlyKerberosUserModelDelegate, ReadonlyLDAPUserModelDelegate, ReadonlySSSDUserModelDelegate, ReadOnlyUserModelDelegate, RoleLDAPStorageMapper.LDAPRoleMappingsUserDelegate, TxAwareLDAPUserModelDelegate, UpdateOnlyChangeUserModelDelegate, UserAdapter, UserAdapter, UserModelDefaultMethods, UserModelDelegate

public interface UserModel extends RoleMapperModel
Version:
$Revision: 1 $
Author:
Bill Burke
  • Field Details

  • Method Details

    • getId

      String getId()
    • getUsername

      String getUsername()
    • setUsername

      void setUsername(String username)
      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
    • getCreatedTimestamp

      Long getCreatedTimestamp()
      Get timestamp of user creation. May be null for old users created before this feature introduction.
    • setCreatedTimestamp

      void setCreatedTimestamp(Long timestamp)
    • isEnabled

      boolean isEnabled()
    • setEnabled

      void setEnabled(boolean enabled)
    • setSingleAttribute

      void setSingleAttribute(String name, String value)
      Set single value of specified attribute. Remove all other existing values of this attribute
      Parameters:
      name -
      value -
    • setAttribute

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

      void removeAttribute(String name)
    • getFirstAttribute

      String getFirstAttribute(String name)
      Parameters:
      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

      Stream<String> getAttributeStream(String name)
      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

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

      Stream<String> getRequiredActionsStream()
      Obtains the aliases of required actions associated with the user.
      Returns:
      a non-null Stream of required action aliases.
    • addRequiredAction

      void addRequiredAction(String action)
    • removeRequiredAction

      void removeRequiredAction(String action)
    • addRequiredAction

      default void addRequiredAction(UserModel.RequiredAction action)
    • removeRequiredAction

      default void removeRequiredAction(UserModel.RequiredAction action)
    • getFirstName

      String getFirstName()
    • setFirstName

      void setFirstName(String firstName)
    • getLastName

      String getLastName()
    • setLastName

      void setLastName(String lastName)
    • getEmail

      String getEmail()
    • setEmail

      void setEmail(String email)
      Sets email for this user.
      Parameters:
      email - the email
    • isEmailVerified

      boolean isEmailVerified()
    • setEmailVerified

      void setEmailVerified(boolean verified)
    • getGroupsStream

      Stream<GroupModel> getGroupsStream()
      Obtains the groups associated with the user.
      Returns:
      a non-null Stream of groups.
    • getGroupsStream

      default Stream<GroupModel> getGroupsStream(String search, Integer first, Integer max)
      Returns a paginated stream of groups within this realm with search in the name
      Parameters:
      search - Case insensitive string which will be searched for. Ignored if null.
      first - Index of first group to return. Ignored if negative or null.
      max - Maximum number of records to return. Ignored if negative or null.
      Returns:
      Stream of desired groups. Never returns null.
    • getGroupsCount

      default long getGroupsCount()
    • getGroupsCountByNameContaining

      default long getGroupsCountByNameContaining(String search)
    • joinGroup

      void joinGroup(GroupModel group)
    • joinGroup

      default void joinGroup(GroupModel group, MembershipMetadata metadata)
    • leaveGroup

      void leaveGroup(GroupModel group)
    • isMemberOf

      boolean isMemberOf(GroupModel group)
    • getFederationLink

      String getFederationLink()
    • setFederationLink

      void setFederationLink(String link)
    • getServiceAccountClientLink

      String getServiceAccountClientLink()
    • setServiceAccountClientLink

      void setServiceAccountClientLink(String clientInternalId)
    • isFederated

      default boolean isFederated()
      Indicates if this UserModel maps to a local account or an account federated from an external user storage.
      Returns:
      true if a federated account. Otherwise, false.
    • credentialManager

      SubjectCredentialManager credentialManager()
      Instance of a user credential manager to validate and update the credentials of this user.