package com.metacodestudio.hotsuploader.models;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.ArrayList;
import java.util.List;

/**
 * API object retrieved from HotSLogs.com calls
 */
public class Account {

    @JsonProperty("PlayerID")
    private Long playerId;

    @JsonProperty("Name")
    private String name;

    @JsonProperty("LeaderboardRankings")
    private List<LeaderboardRanking> leaderboardRankings = new ArrayList<>();

    @Override
    public String toString() {
        return "Account{" +
                "playerId='" + playerId + '\'' +
                ", name='" + name + '\'' +
                ", leaderboardRankings=" + leaderboardRankings +
                '}';
    }

    public Long getPlayerId() {
        return playerId;
    }

    public void setPlayerId(final Long playerId) {
        this.playerId = playerId;
    }

    public String getName() {
        return name;
    }

    public void setName(final String name) {
        this.name = name;
    }

    public List<LeaderboardRanking> getLeaderboardRankings() {
        return leaderboardRankings;
    }

    public void setLeaderboardRankings(final List<LeaderboardRanking> leaderboardRankings) {
        this.leaderboardRankings = leaderboardRankings;
    }
}

@@ -709,32 +709,202 @@
     '%7D';%0A    %7D%0A%0A
+    /**%0A     * Returns the HotSLogs.com player id to use when building URLs to open the browser to this account's profile%0A     * @return this account's player id%0A     */%0A
     public Long 
@@ -943,32 +943,33 @@
 layerId;%0A    %7D%0A%0A
+%0A
     public void 
@@ -1052,245 +1052,935 @@
     
-public String getName() %7B%0A        return name;%0A    %7D%0A%0A    public void setName(final String name) %7B%0A        this.name = name;%0A    %7D%0A%0A    public List%3CLeaderboardRanking%3E getLeaderboardRankings() %7B%0A        return leaderboardRankings;%0A    %7D%0A
+/**%0A     * Gets the player name associated with this HotSLogs.com account, as represented by this player's battletag%0A     * @return this account's name%0A     */%0A    public String getName() %7B%0A        return name;%0A    %7D%0A%0A    public void setName(final String name) %7B%0A        this.name = name;%0A    %7D%0A%0A    /**%0A     * Gets a list containing the various %7B@link LeaderboardRanking%7Ds this player has achieved on HotSLogs.com%0A     * @return a list of type %7B@link LeaderboardRanking%7D%0A     * @see LeaderboardRanking%0A     */%0A    public List%3CLeaderboardRanking%3E getLeaderboardRankings() %7B%0A        return leaderboardRankings;%0A    %7D%0A%0A    /**%0A     * Replace the list of %7B@link LeaderboardRanking%7Ds this player has achieved on HotSLogs.com. As this is a simple%0A     * data object representation of data retrieved from HotSLogs.com, this has absolutely no effect.%0A     * @param leaderboardRankings a list of type %7B@link LeaderboardRanking%7D%0A     */
 %0A   

document class account