Record e RankingManagerRecordLa classe Record è  utilizzata per rappresentare i dati di un record nella classifica di un videogioco. La classe è molto semplice; possiede solo i due attributi privati name (il nome del giocatore che ha fatto il record) e points (i punti totalizzati). Entrambi gli attributi sono accessibili in sola lettura.
La classe Record esporta pure il costruttore personalizzato che permette di inizializzare name e points (in questo ordine).
Inoltre Record esporta e il metodo String toString() che ne ritorna la rappresentazione testuale nel formato:
<name>: <points>
Esempio:
Luigi: 10000
RankingManagerServe per caricare i record salvati in un file CSV e per trovare il giocatore con il punteggio più alto.
I record sono memorizzati nella lista di Record records (attributo privato List<Record>).
La classe RankingManager esporta i seguenti metodi:
public RankingManager(Path csvPath)
Il costruttore personalizzato permette di definire il percorso del file CSV.
loadRankingpublic void loadRanking()
Carica i dati dal file CSV. Se non è possibile accedere o leggere il file, solleva una IOException. Le righe del file CSV che contengono dati non validi non vengono importate.
getRecordspublic List<Record> getRecords
Ritorna la lista (records) dei record caricati dal file CSV.
getWinnerpublic Record getWinner()
Ritorna il Record con il punteggio più alto in records. Se la lista è vuota ritorna null.
Su ogni riga del file CSV deve essere registrato un record nel formato:
<name>,<points>
Dove:
<name>: stringa non vuota, deve contenere almeno un carattere diverso da ‘ ‘ (blank)<points>: numero interoTutte le righe che non rispettano questo formato sono considerate non valide e vengono ignorate dal metodo loadRanking.
Ad esempio un file CSV valido potrebbe contenere i dati seguenti:
Mario,50
Alb,-200
Luigi,10000
Zorro,0
Pippo,400