Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ImmutableUser {
- private final String username;
- private final String password;
- private final String firstname;
- private final String lastname;
- private final String email;
- private final Date creationDate;
- private ImmutableUser(UserBuilder builder) {
- this.username = builder.username;
- this.password = builder.password;
- this.creationDate = builder.creationDate;
- this.firstname = builder.firstname;
- this.lastname = builder.lastname;
- this.email = builder.email;
- }
- public static class UserBuilder {
- private final String username;
- private final String password;
- private final Date creationDate;
- private String firstname;
- private String lastname;
- private String email;
- public UserBuilder(String username, String password) {
- this.username = username;
- this.password = password;
- this.creationDate = new Date();
- }
- public UserBuilder firstName(String firsname) {
- this.firstname = firsname;
- return this;
- }
- public UserBuilder lastName(String lastname) {
- this.lastname = lastname;
- return this;
- }
- public ImmutableUser build() {
- return new ImmutableUser(this);
- }
- }
- public Date getCreationDate() {
- return new Date(creationDate.getTime());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement