All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.belladati.extensions.obj.UserBuilder Maven / Gradle / Ivy

package com.belladati.extensions.obj;

/**
 * Interface representing User builder for building {@link User} instances.
 * @author BellaDati Inc.
 */
public interface UserBuilder {

	/**
	 * Sets user's fields from existing {@link User} instance
	 * @param user existing {@link User}
	 * @return Current {@link UserBuilder} instance
	 */
	UserBuilder set(User user);

	/**
	 * Sets the user's username.
	 * @param username the user's username
	 * @return Current {@link UserBuilder} instance
	 */
	UserBuilder setUsername(String username);

	/**
	 * Sets the user's email.
	 * @param email the user's email@return Current {@link UserBuilder} instance
	 * @return Current {@link UserBuilder} instance
	 */
	UserBuilder setEmail(String email);

	/**
	 * Sets the user's time first name.
	 * @param firstName the user's first name
	 * @return Current {@link UserBuilder} instance
	 */
	UserBuilder setFirstName(String firstName);

	/**
	 * Sets the user's time last name.
	 * @param lastName the user's last name
	 * @return Current {@link UserBuilder} instance
	 */
	UserBuilder setLastName(String lastName);

	/**
	 * Sets the user's time zone.
	 * @param timeZone the user's time zone
	 * @return Current {@link UserBuilder} instance
	 */
	UserBuilder setTimeZone(String timeZone);

	/**
	 * Sets the user's locale.
	 * @param locale the user's locale
	 * @return Current {@link UserBuilder} instance
	 */
	UserBuilder setLocale(String locale);

	/**
	 * Sets the user's active status.
	 * @param active true if user is active, false otherwise
	 * @return Current {@link UserBuilder} instance
	 */
	UserBuilder setActive(Boolean active);

	/**
	 * Creates {@link User} instance 
	 * @return new {@link User} instance 
	 */
	User build();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy