You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
argos/dmp-backend/web/src/main/java/eu/eudat/logic/builders/entity/UserInfoBuilder.java

121 lines
3.0 KiB
Java

package eu.eudat.logic.builders.entity;
import eu.eudat.logic.builders.Builder;
import eu.eudat.data.entities.Credential;
import eu.eudat.data.entities.DMP;
import eu.eudat.data.entities.UserInfo;
import eu.eudat.data.entities.UserRole;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
/**
* Created by ikalyvas on 2/15/2018.
*/
public class UserInfoBuilder extends Builder<UserInfo> {
private UUID id;
private String email = null;
private Short authorization_level; //0 admin, 1 user
private Short usertype; // 0 internal, 1 external
private Boolean verified_email = null;
private String name = null;
private Date created = null;
private Date lastloggedin = null;
private String additionalinfo;
private Set<DMP> dmps;
private Set<Credential> credentials = new HashSet<>();
private Set<UserRole> userRoles = new HashSet<>();
public UserInfoBuilder id(UUID id) {
this.id = id;
return this;
}
public UserInfoBuilder email(String email) {
this.email = email;
return this;
}
public UserInfoBuilder authorization_level(Short authorization_level) {
this.authorization_level = authorization_level;
return this;
}
public UserInfoBuilder usertype(Short usertype) {
this.usertype = usertype;
return this;
}
public UserInfoBuilder verified_email(Boolean verified_email) {
this.verified_email = verified_email;
return this;
}
public UserInfoBuilder name(String name) {
this.name = name;
return this;
}
public UserInfoBuilder created(Date created) {
this.created = created;
return this;
}
public UserInfoBuilder lastloggedin(Date lastloggedin) {
this.lastloggedin = lastloggedin;
return this;
}
public UserInfoBuilder additionalinfo(String additionalinfo) {
this.additionalinfo = additionalinfo;
return this;
}
public UserInfoBuilder dmps(Set<DMP> dmps) {
this.dmps = dmps;
return this;
}
public UserInfoBuilder credentials(Set<Credential> credentials) {
this.credentials = credentials;
return this;
}
public UserInfoBuilder userRoles(Set<UserRole> userRoles) {
this.userRoles = userRoles;
return this;
}
@Override
public UserInfo build() {
UserInfo userInfo = new UserInfo();
userInfo.setId(id);
userInfo.setUsertype(usertype);
userInfo.setAuthorization_level(authorization_level);
userInfo.setLastloggedin(lastloggedin);
userInfo.setCreated(created);
userInfo.setEmail(email);
userInfo.setName(name);
userInfo.setAdditionalinfo(additionalinfo);
userInfo.setUserRoles(userRoles);
userInfo.setCredentials(credentials);
userInfo.setDmps(dmps);
userInfo.setVerified_email(verified_email);
return userInfo;
}
}