package com.cattong.entity; import com.cattong.commons.util.HashCodeHelper; /** * 微博用户类 * * @version * @author */ public class User extends BaseUser implements java.io.Serializable { private static final long serialVersionUID = -6345893237975349030L; /** 是否经过认证 */ private boolean isVerified; private String verifyInfo; /** 收藏数量 */ private int favouritesCount; /** 最新一条微博消息 */ private Status status; public String getDisplayName() { String displayName = null; switch(serviceProvider) { case Sina: displayName = screenName; break; case NetEase: displayName = screenName; break; case Sohu: displayName = screenName; break; case Tencent: displayName = name; break; case Twitter: displayName = name; break; case Fanfou: displayName = userId; break; } return displayName; } public String getMentionName() { String mentionName = null; switch(serviceProvider) { case Fanfou: mentionName = "@" + name; break; default: mentionName = "@" + getDisplayName(); } return mentionName; } public String getMentionTitleName() { String titleName = null; switch(serviceProvider) { case Sina: case Sohu: case Fanfou: titleName = "@" + screenName; break; case NetEase: titleName = "@" + screenName; break; case Tencent: titleName = screenName + "(@" + name + ")"; break; case Twitter: titleName = "@" + name; break; } return titleName; } public Status getStatus() { return status; } public int getFavouritesCount() { return favouritesCount; } public boolean isVerified() { return isVerified; } public String getVerifyInfo() { return verifyInfo; } public void setVerifyInfo(String verifyInfo) { this.verifyInfo = verifyInfo; } public void setStatus(Status status) { this.status = status; } public void setFavouritesCount(int favouritesCount) { this.favouritesCount = favouritesCount; } public void setVerified(boolean isVerified) { this.isVerified = isVerified; } @Override public int hashCode() { HashCodeHelper helper = HashCodeHelper.getInstance(); helper.appendObj(userId).appendObj(serviceProvider) .appendObj(name).appendObj(screenName).appendBoolean(isVerified); return helper.getHashCode(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; User other = (User) obj; if (userId == null) { if (other.userId != null) return false; } else if (!userId.equals(other.userId)) return false; return true; } @Override public String toString() { return "User{" + " sp=" + serviceProvider + ", userId=" + userId + ", name='" + name + '\'' + ", screenName='" + screenName + '\'' + ", location='" + location + '\'' + ", description='" + description + '\'' + ", profileImageUrl='" + profileImageUrl + '\'' + ", followersCount=" + this.getFollowersCount() + ", status=" + (status == null ? "null" : status.getText()) + ", friendsCount=" + this.getFriendsCount() + ", createdAt=" + createdAt + ", favouritesCount=" + favouritesCount + ", statusesCount=" + this.getStatusesCount() + ", verified=" + isVerified + '}'; } }