Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/zazof/jteg/ExchangeCardMessage.java


1   /**
2    *  Message that processes "canje=" events.
3    *  This message is valid for following protocols:
4    *    version 3: OK
5    *    version 4: ?
6    *    version 5: ?
7    *
8    *  Content = "canje=playerid, number of armies, country_id1, country_id2, country_id"
9    *
10   * @author Jef De Geeter
11   * @author Yves Vandewoude
12   */
13  
14  package org.zazof.jteg;
15  
16  import java.util.StringTokenizer;
17  
18  public class ExchangeCardMessage extends Message{
19  
20    /**
21      @param message 
22    */
23    public ExchangeCardMessage(Message nextMessage){
24      setNextMessage(nextMessage);
25    }
26  
27    public Message decodeMessage(String messageDescription)
28      throws UnknownMessageException
29    {
30      String firstToken = (new StringTokenizer(messageDescription,"=")).nextToken();    
31      if (!(firstToken.equals("canje")))
32      {
33        // Not for me...
34        if (this.hasNextMessage())
35          {
36            return getNextMessage().decodeMessage(messageDescription);
37          }
38        throw new UnknownMessageException(messageDescription);
39      }
40      else
41      {
42        StringTokenizer st = new StringTokenizer(messageDescription, "=,");
43        st.nextToken(); //canje
44        $playerID = Integer.parseInt(st.nextToken());
45        $numberOfArmies = Integer.parseInt(st.nextToken());
46        $firstCardCountryID = Integer.parseInt(st.nextToken());
47        $secondCardCountryID = Integer.parseInt(st.nextToken());
48        $thirdCardCountryID = Integer.parseInt(st.nextToken());
49        return this;
50      }
51    }
52  
53  
54    public String constructMessageString(String[] messageParts)
55      throws UnknownMessageException
56    {
57      if (!(messageParts[0]).equals("exchangecards"))
58      {
59        // Not for me...
60        if (this.hasNextMessage())
61          {
62            return getNextMessage().constructMessageString(messageParts);
63          }
64        throw new UnknownMessageException("No String could be constructed for a message with this parameter: " + messageParts[0]);
65      }
66      else
67      {
68        StringBuffer sb = new StringBuffer("canje=");
69        sb.append(messageParts[1]); // CountryID of card 1
70        sb.append(",");
71        sb.append(messageParts[2]); // CountryID of card 2
72        sb.append(",");
73        sb.append(messageParts[3]); // CountryID of card 3
74        return sb.toString();
75      }
76    }
77  
78    public String getMessageName(){
79      return "canje";
80    }
81  
82    public int getPlayerID(){
83      return $playerID;
84    }
85  
86    public int getNbOfArmies(){
87      return $numberOfArmies;
88    }
89  
90    public int firstCardCountryID(){
91      return $firstCardCountryID;
92    }
93  
94    public int secondCardCountryID(){
95      return $secondCardCountryID;
96    }
97  
98    public int thirdCardCountryID(){
99      return $thirdCardCountryID;
100   }
101 
102 
103   private int $playerID;
104   private int $numberOfArmies;
105   private int $firstCardCountryID;
106   private int $secondCardCountryID;
107   private int $thirdCardCountryID;
108 }