Package org.keycloak.userprofile
Class DefaultUserProfile
- java.lang.Object
-
- org.keycloak.userprofile.DefaultUserProfile
-
- All Implemented Interfaces:
UserProfile
public final class DefaultUserProfile extends Object implements UserProfile
The default implementation for
UserProfile
. Should be reused as much as possible by the different implementations ofUserProfileProvider
.This implementation is not specific to any user profile implementation.
- Author:
- Pedro Igor
-
-
Field Summary
Fields Modifier and Type Field Description protected UserProfileMetadata
metadata
-
Constructor Summary
Constructors Constructor Description DefaultUserProfile(UserProfileMetadata metadata, Attributes attributes, Function<Attributes,UserModel> userCreator, UserModel user, KeycloakSession session)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UserModel
create()
Creates a newUserModel
based on the attributes associated with this instance.Attributes
getAttributes()
Returns the attributes associated with this instance.void
update(boolean removeAttributes, AttributeChangeListener... changeListener)
Updates theUserModel
associated with this instance.void
validate()
Validates the attributes associated with this instance.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.userprofile.UserProfile
update
-
-
-
-
Field Detail
-
metadata
protected final UserProfileMetadata metadata
-
-
Constructor Detail
-
DefaultUserProfile
public DefaultUserProfile(UserProfileMetadata metadata, Attributes attributes, Function<Attributes,UserModel> userCreator, UserModel user, KeycloakSession session)
-
-
Method Detail
-
validate
public void validate()
Description copied from interface:UserProfile
Validates the attributes associated with this instance.- Specified by:
validate
in interfaceUserProfile
-
create
public UserModel create() throws ValidationException
Description copied from interface:UserProfile
Creates a newUserModel
based on the attributes associated with this instance.- Specified by:
create
in interfaceUserProfile
- Returns:
- the
UserModel
instance created from this profile - Throws:
ValidationException
- in case validation fails
-
update
public void update(boolean removeAttributes, AttributeChangeListener... changeListener)
Description copied from interface:UserProfile
Updates the
UserModel
associated with this instance. If noUserModel
is associated with this instance, this operation has no effect.Before updating the
UserModel
, this method first checks whether theUserProfile.validate()
method was previously invoked. If not, the validation step is performed prior to updating the model.- Specified by:
update
in interfaceUserProfile
- Parameters:
removeAttributes
- if attributes should be removed from theUserModel
if they are not among the attributes associated with this instance.changeListener
- a set of one or more listeners to listen for attribute changes
-
getAttributes
public Attributes getAttributes()
Description copied from interface:UserProfile
Returns the attributes associated with this instance. Note that the attributes returned by this method are not necessarily the same from theUserModel
, but those that should be validated and possibly updated to theUserModel
.- Specified by:
getAttributes
in interfaceUserProfile
- Returns:
- the attributes associated with this instance.
-
-