package models.player; import com.fasterxml.jackson.databind.JsonNode; import play.mvc.WebSocket; /** * Represents a pending (that is, unpaired) player. */ public class ConnectedPlayer extends Player { protected final WebSocket.In<JsonNode> inputSocket; protected final WebSocket.Out<JsonNode> outputSocket; public ConnectedPlayer(WebSocket.In<JsonNode> inputSocket, WebSocket.Out<JsonNode> outputSocket) { this.inputSocket = inputSocket; this.outputSocket = outputSocket; } public WebSocket.In<JsonNode> getInputSocket() { return inputSocket; } public WebSocket.Out<JsonNode> getOutputSocket() { return outputSocket; } public PairedPlayer upgrade(String opponentId) { PairedPlayer pp = new PairedPlayer(inputSocket, outputSocket, opponentId); pp.id = this.id; return pp; } @Override public String toString() { return String.format("ConnectedPlayer[%s]", id); } }