/*
* Copyright (c) 2000-2009 by Rodney Kinney, Brent Easton
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License (LGPL) as published by the Free Software Foundation.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, copies are available
* at http://www.opensource.org.
*/
package VASSAL.chat;
import VASSAL.build.module.Chatter;
/**
* Simple Player bean
*/
public class SimplePlayer implements VASSAL.chat.Player {
protected String id;
protected String name;
protected PlayerStatus status;
public SimplePlayer(String id, String name, PlayerStatus status) {
super();
this.id = id;
this.name = name;
this.status = status;
}
public SimplePlayer(String name) {
this(name,name,new SimpleStatus());
}
public SimplePlayer() {
this((String) null);
}
public String toString() {
return name;
}
public String getName() {
if (name == null || name.length() == 0 || name.trim().length() == 0 || name.equals("<nobody>")) { //$NON-NLS-1$
return "("+Chatter.getAnonymousUserName()+")"; //$NON-NLS-1$ //$NON-NLS-2$
}
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean equals(Object o) {
if (o instanceof Player) {
return id != null && id.equals(((Player) o).getId());
}
else {
return false;
}
}
public String getId() {
return id;
}
public PlayerStatus getStatus() {
return status;
}
public void setId(String id) {
this.id = id;
}
public void setStatus(PlayerStatus status) {
this.status = status;
}
public void updateStatus() {
if (status instanceof SimpleStatus) {
((SimpleStatus) status).updateStatus();
}
}
}