2026-04-05 22:22:00 +00:00

181 lines
4.0 KiB
Java

package com.rjlresaka.model;
import java.io.Serializable;
import java.sql.Timestamp;
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private int id;
private String fullName;
private String username;
private String email;
private String passwordHash;
private String avatarColor;
private String bio;
private Timestamp createdAt;
private Timestamp updatedAt;
private Integer conversationId;
private String lastMessagePreview;
private Timestamp lastMessageAt;
private int unreadCount;
private boolean active;
private boolean friend;
private boolean requestSent;
private boolean requestReceived;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPasswordHash() {
return passwordHash;
}
public void setPasswordHash(String passwordHash) {
this.passwordHash = passwordHash;
}
public String getAvatarColor() {
return avatarColor;
}
public void setAvatarColor(String avatarColor) {
this.avatarColor = avatarColor;
}
public String getBio() {
return bio;
}
public void setBio(String bio) {
this.bio = bio;
}
public Timestamp getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Timestamp createdAt) {
this.createdAt = createdAt;
}
public Timestamp getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Timestamp updatedAt) {
this.updatedAt = updatedAt;
}
public Integer getConversationId() {
return conversationId;
}
public void setConversationId(Integer conversationId) {
this.conversationId = conversationId;
}
public String getLastMessagePreview() {
return lastMessagePreview;
}
public void setLastMessagePreview(String lastMessagePreview) {
this.lastMessagePreview = lastMessagePreview;
}
public Timestamp getLastMessageAt() {
return lastMessageAt;
}
public void setLastMessageAt(Timestamp lastMessageAt) {
this.lastMessageAt = lastMessageAt;
}
public int getUnreadCount() {
return unreadCount;
}
public void setUnreadCount(int unreadCount) {
this.unreadCount = unreadCount;
}
public boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
public boolean isFriend() {
return friend;
}
public void setFriend(boolean friend) {
this.friend = friend;
}
public boolean isRequestSent() {
return requestSent;
}
public void setRequestSent(boolean requestSent) {
this.requestSent = requestSent;
}
public boolean isRequestReceived() {
return requestReceived;
}
public void setRequestReceived(boolean requestReceived) {
this.requestReceived = requestReceived;
}
public String getInitials() {
if (fullName == null || fullName.trim().isEmpty()) {
return "RR";
}
String[] parts = fullName.trim().split("\\s+");
StringBuilder initials = new StringBuilder();
for (String part : parts) {
if (!part.isEmpty()) {
initials.append(Character.toUpperCase(part.charAt(0)));
}
if (initials.length() == 2) {
break;
}
}
return initials.length() == 0 ? "RR" : initials.toString();
}
}