package com.faforever.client.leaderboard; import com.faforever.client.api.LeaderboardEntry; import javafx.beans.property.FloatProperty; import javafx.beans.property.IntegerProperty; import javafx.beans.property.SimpleFloatProperty; import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; public class Ranked1v1EntryBean { private StringProperty username; private IntegerProperty rank; private IntegerProperty rating; private IntegerProperty gamesPlayed; private FloatProperty winLossRatio; public Ranked1v1EntryBean() { username = new SimpleStringProperty(); rank = new SimpleIntegerProperty(); rating = new SimpleIntegerProperty(); gamesPlayed = new SimpleIntegerProperty(); winLossRatio = new SimpleFloatProperty(); } public String getUsername() { return username.get(); } public void setUsername(String username) { this.username.set(username); } public StringProperty usernameProperty() { return username; } public int getRank() { return rank.get(); } public void setRank(int rank) { this.rank.set(rank); } public IntegerProperty rankProperty() { return rank; } public int getRating() { return rating.get(); } public void setRating(int rating) { this.rating.set(rating); } public IntegerProperty ratingProperty() { return rating; } public int getGamesPlayed() { return gamesPlayed.get(); } public void setGamesPlayed(int gamesPlayed) { this.gamesPlayed.set(gamesPlayed); } public IntegerProperty gamesPlayedProperty() { return gamesPlayed; } public float getWinLossRatio() { return winLossRatio.get(); } public void setWinLossRatio(float winLossRatio) { this.winLossRatio.set(winLossRatio); } public FloatProperty winLossRatioProperty() { return winLossRatio; } @Override public int hashCode() { return username.get() != null ? username.get().hashCode() : 0; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Ranked1v1EntryBean that = (Ranked1v1EntryBean) o; return !(username.get() != null ? !username.get().equalsIgnoreCase(that.username.get()) : that.username.get() != null); } @Override public String toString() { return "Ranked1v1EntryBean{" + "username=" + username.get() + '}'; } public static Ranked1v1EntryBean fromLeaderboardEntry(LeaderboardEntry leaderboardEntry) { Ranked1v1EntryBean ranked1v1EntryBean = new Ranked1v1EntryBean(); ranked1v1EntryBean.setUsername(leaderboardEntry.getLogin()); ranked1v1EntryBean.setGamesPlayed(leaderboardEntry.getNumGames()); ranked1v1EntryBean.setRank(leaderboardEntry.getRanking()); ranked1v1EntryBean.setRating(leaderboardEntry.getRating()); ranked1v1EntryBean.setWinLossRatio(leaderboardEntry.getWonGames() / (float) leaderboardEntry.getNumGames()); return ranked1v1EntryBean; } }