View Javadoc
1   //////////////////////////////////////////////////////////////////////////////
2   // dexterIM - Instant Messaging Framework
3   // Copyright (C) 2003  Christoph Walcher
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
8   // (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  package net.sf.dexterim.msn.message;
20  
21  import java.util.StringTokenizer;
22  
23  import net.sf.dexterim.msn.MsnConnection;
24  import net.sf.dexterim.msn.entity.SwitchBoardServer;
25  
26  /***
27   *  Description of the Class
28   *
29   *@author     christoph
30   */
31  public class InviteMessage extends SingleLineMessage {
32    private String account;
33    private SwitchBoardServer server;
34    private String conversationID;
35  
36    /***
37     *  Constructor for the StartConversationMessage object
38     */
39    public InviteMessage() {
40    }
41  
42    /***
43     *  Gets the messageCommand attribute of the StartConversationMessage object
44     *
45     *@return    The messageCommand value
46     */
47    public String getMessageCommand() {
48      return MsnMessageFactory.CMD_RING;
49    }
50  
51    /***
52     *  Getter for property account.
53     *
54     *@return    Value of property account.
55     */
56    public java.lang.String getAccount() {
57      return account;
58    }
59  
60    /***
61     *  Getter for property conversationID.
62     *
63     *@return    Value of property conversationID.
64     */
65    public java.lang.String getConversationID() {
66      return conversationID;
67    }
68  
69    /***
70     *  Adds a feature to the Line attribute of the StartConversationMessage
71     *  object
72     *
73     *@param  line  The feature to be added to the Line attribute
74     *@return       Description of the Return Value
75     */
76    public MsnMessage addLine(String line)
77      throws net.sf.dexterim.msn.message.MessageFormatException {
78      StringTokenizer st = new StringTokenizer(line);
79  
80      st.nextToken();
81  
82      conversationID = st.nextToken();
83  
84      String temp = st.nextToken();
85  
86      int i = temp.indexOf(":");
87  
88      if (i < 0) {
89        throw new net.sf.dexterim.msn.message.MessageFormatException(
90          "IP and port not found in message");
91      }
92  
93      String ip = temp.substring(0, i);
94      int port = Integer.parseInt(temp.substring(i + 1));
95  
96      st.nextToken();
97  
98      String cki = st.nextToken();
99  
100     this.server = new SwitchBoardServer(ip, port, cki);
101 
102     account = st.nextToken();
103 
104     return this;
105   }
106 
107   /*** Getter for property server.
108    * @return Value of property server.
109    *
110    */
111   public SwitchBoardServer getServer() {
112     return server;
113   }
114 
115   /* (non-Javadoc)
116    * @see net.sf.dexterim.msn.message.MsnMessage#process(net.sf.dexterim.msn.MsnConnection)
117    */
118   public void process(MsnConnection connection) {
119     // TODO Auto-generated method stub
120     
121   }
122 }