Package org.keycloak.userprofile
Class DefaultUserProfile
java.lang.Object
org.keycloak.userprofile.DefaultUserProfile
- All Implemented Interfaces:
UserProfile
The default implementation for UserProfile
. Should be reused as much as possible by the different implementations
of UserProfileProvider
.
This implementation is not specific to any user profile implementation.
- Author:
- Pedro Igor
-
Constructor Summary
ConstructorDescriptionDefaultUserProfile
(UserProfileMetadata metadata, Attributes attributes, Function<Attributes, UserModel> userCreator, UserModel user, KeycloakSession session) -
Method Summary
Modifier and TypeMethodDescriptioncreate()
Creates a newUserModel
based on the attributes associated with this instance.Returns the attributes associated with this instance.<R extends AbstractUserRepresentation>
Rvoid
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
-
Constructor Details
-
DefaultUserProfile
public DefaultUserProfile(UserProfileMetadata metadata, Attributes attributes, Function<Attributes, UserModel> userCreator, UserModel user, KeycloakSession session)
-
-
Method Details
-
validate
public void validate()Description copied from interface:UserProfile
Validates the attributes associated with this instance.- Specified by:
validate
in interfaceUserProfile
-
create
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
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
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
as they are based on the configurations set in theUPConfig
and the context this instance is based on.- Specified by:
getAttributes
in interfaceUserProfile
- Returns:
- the attributes associated with this instance.
-
toRepresentation
- Specified by:
toRepresentation
in interfaceUserProfile
-