View Javadoc

1   // START LICENSE
2   // JSet - a Java JSet card board game implementation
3   // Copyright (C) 2004 Jerome Lacoste
4   //
5   // This program is free software; you can redistribute it and/or modify
6   // it under the terms of the GNU General Public License as published by
7   // the Free Software Foundation; either version 2 of the License, or (at
8   // your option) any later version.
9   //
10  // This program is distributed in the hope that it will be useful, but
11  // WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  // 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  // END LICENSE
19  
20  package org.cb.jset.server;
21  
22  import java.rmi.Remote;
23  
24  /***
25   * A Remote server that references the different <code>RemoteSetGame</code> available.
26   *
27   * @author jerome@coffeebreaks.org - last modified by $LastChangedBy: jerome $
28   * @version $Id: RemoteSetGameServer.java 130 2004-04-15 05:18:07Z jerome $
29   */
30  public interface RemoteSetGameServer extends Remote
31  {
32    /***
33     * @return the different remote games known to this server.
34     * @throws java.rmi.RemoteException upon communication related exception on this remote call
35     */
36    RemoteSetGame[] getGames() throws java.rmi.RemoteException;
37  
38    /***
39     * Returns the game identified by the specified id.
40     * @param id the id of the game to return
41     * @return the game if found, or <code>null</code> if none found.
42     * @throws java.rmi.RemoteException upon communication related exception on this remote call
43     */
44    RemoteSetGame getGame(int id) throws java.rmi.RemoteException;
45  
46    /***
47     * Create a game with the specified number of players.
48     * @param name the name of the game.
49     * @param nbPlayers the number of players.
50     * @return the new game id
51     * @throws java.rmi.RemoteException upon communication related exception on this remote call
52     * @todo specify what happens if exising name with same name exists.
53     */
54    int createGame(String name, int nbPlayers) throws java.rmi.RemoteException;
55  }