package com.cardshifter.api.outgoing;
import com.cardshifter.api.messages.Message;
/** Communicates a player's status */
public class UserStatusMessage extends Message {
/**
* Possible statuses.
* <li>OFFLINE : User is not connected
* <li>ONLINE : User is connected
*/
public enum Status {
OFFLINE, ONLINE;
}
private int userId;
private Status status;
private String name;
/** Constructor. (no params) */
public UserStatusMessage() {
this(-42, "", Status.OFFLINE);
}
/**
* Constructor.
* @param userId The Id of this user
* @param name The name of this user
* @param status The status of this user
*/
public UserStatusMessage(int userId, String name, Status status) {
super("userstatus");
this.userId = userId;
this.name = name;
this.status = status;
}
/** @return The Id of this user */
public int getUserId() {
return userId;
}
/** @return The status of this user */
public Status getStatus() {
return status;
}
/** @return The name of this user */
public String getName() {
return name;
}
/** @return This message as converted to String */
@Override
public String toString() {
return "UserStatusMessage ["
+ "userId=" + userId
+ ", status=" + status
+ ", name=" + name
+ "]";
}
}