public class UserBuilder extends ValidationRegistryImpl implements DomainObjectBuilder<User>
Modifier and Type | Class and Description |
---|---|
static class |
UserBuilder.LoginNameSyntaxType |
Constructor and Description |
---|
UserBuilder(User userDTO)
This is a convenience constructor for applications using the
User
object as a Data Transfer Object (DTO) between client (browser) and server (here). |
UserBuilder(UserType userType)
For validation purposes, creates a
UserBuilder from a User object. |
Modifier and Type | Method and Description |
---|---|
User |
getDomainObject()
Returns the validated, built domain object.
|
UserBuilder |
setActive(boolean isActive)
Specifies whether the new User is enabled.
|
UserBuilder |
setBirthdate(java.time.Instant birthdate) |
UserBuilder |
setDisplayName(java.lang.String displayName) |
UserBuilder |
setFirstName(java.lang.String firstName) |
UserBuilder |
setLastName(java.lang.String lastName) |
UserBuilder |
setLogin(java.lang.String loginName,
UserBuilder.LoginNameSyntaxType isEmailAddr) |
UserBuilder |
setNames(java.lang.String firstName,
java.lang.String lastName,
java.lang.String displayName) |
UserBuilder |
setPassword(java.lang.String password) |
UserBuilder |
setPasswordValidator(Validator<java.lang.String> pwv) |
UserBuilder |
setTimeZone(java.lang.String timeZone) |
addFailures, addFailures, addToValidationQueue, addToValidationQueue, addToValidationQueue, addToValidationQueue, doValidation, failuresToString, getFailures, hasFailures, overrideValidator, setValidator, throwBuilderExceptionOnFailure, throwIllegalArgumentExceptionOnFailure
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addFailures, addFailures, addToValidationQueue, addToValidationQueue, addToValidationQueue, addToValidationQueue, doValidation, failuresToString, getFailures, getInstance, hasFailures, overrideValidator, setValidator, throwBuilderExceptionOnFailure, throwIllegalArgumentExceptionOnFailure
public UserBuilder(UserType userType)
UserBuilder
from a User
object.
It is convenient to use User
as a DTO from client to server, but doing so
misses, or places validation rules on the client-side code, or the application's server-side
code.
Instead of that, we force validation of a User
by having the persist method
accept only a UserBuilder
. An application can still control validation
requirements, but does so by configuring its own UserBuiler
in advance
of persisting a new User
.
user
- User
instance to validate.public UserBuilder(User userDTO)
User
object as a Data Transfer Object (DTO) between client (browser) and server (here).
That is to say, for ex: User input is collected on a form, put into a User
instance, serialized, and transmitted to the server which calls this methods.user
- public UserBuilder setBirthdate(java.time.Instant birthdate)
public UserBuilder setLogin(java.lang.String loginName, UserBuilder.LoginNameSyntaxType isEmailAddr)
public UserBuilder setNames(java.lang.String firstName, java.lang.String lastName, java.lang.String displayName)
public UserBuilder setActive(boolean isActive)
By default a User is enabled. Thus you only need to call this method if you wish your new User to begin life in a disabled state.
isActive
- true to enable the new User; false to disable the new User.public UserBuilder setFirstName(java.lang.String firstName)
public UserBuilder setLastName(java.lang.String lastName)
public UserBuilder setDisplayName(java.lang.String displayName)
public UserBuilder setTimeZone(java.lang.String timeZone)
public UserBuilder setPasswordValidator(Validator<java.lang.String> pwv)
public UserBuilder setPassword(java.lang.String password)
public User getDomainObject()
DomainObjectBuilder
getDomainObject
in interface DomainObjectBuilder<User>
Validator}