/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.core.sso.online;
import javax.persistence.MappedSuperclass;
/**
* <p> OnlineUser.java </p>
*
* 在线用户库里的用户,同一用户对应到不同的应用、不同的SessionID,在在线用户库里都被视为不同的在线用户,
* 但它们用可能共享一个相同的token(比如同一用户、不同的应用的情况下)。
*/
@MappedSuperclass
public class OnlineUser {
/** 用户编号 */
protected Long userId;
/** 应用Code */
protected String appCode;
/** Session编号 */
protected String sessionId;
/** 令牌:包含标准用户ID、平台SessionID和令牌的生成时间 */
protected String token;
public OnlineUser() {
}
public OnlineUser(Long userId, String appCode, String sessionId, String token) {
this.userId = userId;
this.appCode = appCode;
this.sessionId = sessionId;
this.token = token;
}
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = PRIME * result + ((appCode == null) ? 0 : appCode.hashCode());
result = PRIME * result + ((sessionId == null) ? 0 : sessionId.hashCode());
result = PRIME * result + ((token == null) ? 0 : token.hashCode());
result = PRIME * result + ((userId == null) ? 0 : userId.hashCode());
return result;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final OnlineUser other = (OnlineUser) obj;
if (appCode == null) {
if (other.appCode != null)
return false;
} else if (!appCode.equals(other.appCode))
return false;
if (sessionId == null) {
if (other.sessionId != null)
return false;
} else if (!sessionId.equals(other.sessionId))
return false;
if (token == null) {
if (other.token != null)
return false;
} else if (!token.equals(other.token))
return false;
if (userId == null) {
if (other.userId != null)
return false;
} else if (!userId.equals(other.userId))
return false;
return true;
}
public String toString() {
return userId + ":" + appCode + ":" + sessionId + ":" + token;
}
public String getAppCode() {
return appCode;
}
public String getSessionId() {
return sessionId;
}
public String getToken() {
return token;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public void setAppCode(String appCode) {
this.appCode = appCode;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
public void setToken(String token) {
this.token = token;
}
}