/* * Copyright (C) 2008-2017, Juick * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package com.juick.server.helpers; import com.juick.User; /** * Created by aalexeev on 12/11/16. */ public final class AnonymousUser extends User { public static final AnonymousUser INSTANCE = new AnonymousUser(); private AnonymousUser() { super.setUid(getUid()); super.setName(getName()); super.setAvatar(getAvatar()); super.setFullName(getFullName()); super.setJid(getJid()); super.setMessagesCount(getMessagesCount()); super.setAuthHash(getAuthHash()); super.setBanned(isBanned()); super.setCredentials(getCredentials()); super.setLang(getLang()); } @Override public boolean equals(Object obj) { return obj == this || obj instanceof AnonymousUser; } @Override public int getUid() { return 0; } @Override public String getName() { return "Anonymous"; } @Override public String getFullName() { return getName(); } @Override public String getJid() { return "anonym@localhost"; } @Override public String getAuthHash() { return null; } @Override public Integer getUnreadCount() { return 0; } @Override public boolean isBanned() { return false; } @Override public Object getAvatar() { return null; } @Override public String getCredentials() { return null; } @Override public String getLang() { return "__"; } @Override public int getMessagesCount() { return 0; } @Override public boolean isAnonymous() { return true; } @Override public void setUid(int uid) { } @Override public void setName(String name) { } @Override public void setFullName(String fullName) { } @Override public void setJid(String jid) { } @Override public void setAuthHash(String authHash) { } @Override public void setUnreadCount(Integer count) { } @Override public void setBanned(boolean banned) { } @Override public void setAvatar(Object avatar) { } @Override public void setCredentials(String credentials) { } @Override public void setLang(String lang) { } @Override public void setMessagesCount(int messagesCount) { } }