1 /*** 2 * Jetrix TetriNET Server 3 * Copyright (C) 2003-2004 Emmanuel Bourg 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License 7 * as published by the Free Software Foundation; either version 2 8 * of the License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 */ 19 20 package net.jetrix.winlist; 21 22 import java.util.*; 23 24 import net.jetrix.config.*; 25 26 /*** 27 * A winlist ranking players and teams. 28 * 29 * @since 0.1.2 30 * 31 * @author Emmanuel Bourg 32 * @version $Revision: 794 $, $Date: 2009-02-17 20:08:39 +0100 (Tue, 17 Feb 2009) $ 33 */ 34 public interface Winlist 35 { 36 /*** 37 * Return the id for this winlist. 38 */ 39 String getId(); 40 41 /*** 42 * Set the id for this winlist. 43 */ 44 void setId(String id); 45 46 /*** 47 * Initialize the winlist. 48 * 49 * @param config the winlist configuration 50 */ 51 void init(WinlistConfig config); 52 53 /*** 54 * Return the configuration necessary to create the same winlist 55 * 56 * @since 0.2 57 */ 58 WinlistConfig getConfig(); 59 60 /*** 61 * Return the score of the specified player or team 62 * 63 * @param name the name of the player or team 64 * @param type the score type (0: player, 1: team) 65 */ 66 Score getScore(String name, int type); 67 68 /*** 69 * Return the score list in the specified range. 70 * 71 * @param offset the beginning of the range 72 * @param length the length of the range 73 */ 74 List<Score> getScores(long offset, long length); 75 76 /*** 77 * Update the winlist with the specified game result. 78 */ 79 void saveGameResult(GameResult result); 80 81 /*** 82 * Remove all entries in the winlist 83 * 84 * @since 0.2 85 */ 86 void clear(); 87 88 /*** 89 * Return the number of entries in the winlist 90 * 91 * @since 0.2 92 */ 93 int size(); 94 95 }