package foundation.user;
|
|
import foundation.token.IOnlineUser;
|
import foundation.token.IUserManager;
|
import foundation.token.UserToken;
|
import foundation.util.Util;
|
import foundation.variant.provider.VariantCenter;
|
|
public class UserManager extends IUserManager {
|
|
private static UserManager instance;
|
|
private UserManager() {
|
VariantCenter center = VariantCenter.getInstance();
|
center.registTransiant(User.VariantNames, User.ProviderName, User.class);
|
}
|
|
public static synchronized UserManager getInstance() {
|
if (instance == null) {
|
instance = new UserManager();
|
}
|
|
return instance;
|
}
|
|
|
@Override
|
public IOnlineUser createUser(String token) {
|
UserToken userToken = UserToken.getInstance(token);
|
|
String userId = userToken.getUserId();
|
String onlineCode = userToken.getOnlineCode();
|
|
if (Util.isEmpty(userId) || (!userToken.validate())) {
|
return null;
|
}
|
|
User user = User.getInstance(userId);
|
|
if (user == null) {
|
return null;
|
}
|
|
IOnlineUser onlineUser = new OnlineUser(onlineCode, user);
|
IOnlineUser.setLocal(onlineUser);
|
|
return onlineUser;
|
}
|
|
@Override
|
public IOnlineUser getUser() {
|
return OnlineUser.getInstance();
|
}
|
|
}
|