
org.jresearch.commons.base.domain.User Maven / Gradle / Ivy
The newest version!
package org.jresearch.commons.base.domain;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import javax.annotation.Nonnull;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import com.google.common.base.MoreObjects;
@Entity
@Table(name = "NET_USER")
public class User extends ExtDomainJpa {
@Nonnull
public static final String AUTO_USER = "nBZC!rIMTQUDfNI2zdkJDIi2ezS5iZ9&FD06bCG5rCtrPb!ylmUipevcO$Ad1aKMt%L$ER&KxnrK45vH*hljz&4wmrUhPfnXfZ0j"; //$NON-NLS-1$
@Nonnull
public static final String TEMP_USER = "2#2JgU^*LydK3uYskGS!8WD5HHk9jnFIugRW$oIjTiY3gBv1QNy2&xMk6kGt7qAKyeT40gA^MsSUhk*vBSNNK@@0Z2QmzoGtwN!s"; //$NON-NLS-1$
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "user_generator")
@SequenceGenerator(name = "user_generator", sequenceName = "user_seq")
private Long id;
@Column(name = "PWDHASH")
private byte[] password;
private byte[] salt;
@Column(unique = true, nullable = false)
private String userName;
@Column(unique = true)
private String email;
private String firstName;
private String lastName;
private String description;
@OneToMany(mappedBy = "user")
private Set logins = new HashSet<>();
public Set getLogins() {
return logins;
}
public void setLogins(final Set logins) {
this.logins = logins;
}
public byte[] getPassword() {
return password;
}
public void setPassword(final byte[] pwd) {
this.password = pwd;
}
public byte[] getSalt() {
return salt;
}
public void setSalt(final byte[] salt) {
this.salt = salt;
}
public String getUserName() {
return userName;
}
public void setUserName(final String userName) {
this.userName = userName;
}
public String getEmail() {
return email;
}
public void setEmail(final String email) {
this.email = email;
}
public void addOauthId(final UserNetwork network, final String oauthId) {
final SocialNetworkLogin login = new SocialNetworkLogin();
login.setNetwork(network.name());
login.setUser(this);
login.setOauthId(oauthId);
logins.add(login);
}
public void addOauthId(final SocialNetworkLogin l) {
logins.add(l);
}
public Long getUserId() {
return getId();
}
public String getFirstName() {
return firstName;
}
public void setFirstName(final String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(final String lastName) {
this.lastName = lastName;
}
public String getDescription() {
return description;
}
public void setDescription(final String description) {
this.description = description;
}
/**
* @return the id
*/
@Override
public Long getId() {
return id;
}
/**
* @param id
* the id to set
*/
@Override
public void setId(final Long id) {
this.id = id;
}
@SuppressWarnings({ "nls", "null" })
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.omitNullValues()
.add("super", super.toString())
.add("id", id)
.add("pwd", Arrays.deepToString(new Object[] { password }))
.add("salt", Arrays.deepToString(new Object[] { salt }))
.add("userName", userName)
.add("email", email)
.add("firstName", firstName)
.add("lastName", lastName)
.add("description", description)
.add("logins", ids(logins))
.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy