• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * $Revision$
3  * $Date$
4  *
5  * Copyright 2003-2007 Jive Software.
6  *
7  * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 
20 package org.jivesoftware.smackx.workgroup;
21 
22 import java.util.List;
23 import java.util.Map;
24 
25 /**
26  * An immutable class wrapping up the basic information which comprises a group chat invitation.
27  *
28  * @author loki der quaeler
29  */
30 public class WorkgroupInvitation {
31 
32     protected String uniqueID;
33 
34     protected String sessionID;
35 
36     protected String groupChatName;
37     protected String issuingWorkgroupName;
38     protected String messageBody;
39     protected String invitationSender;
40     protected Map<String, List<String>> metaData;
41 
42     /**
43      * This calls the 5-argument constructor with a null MetaData argument value
44      *
45      * @param jid the jid string with which the issuing AgentSession or Workgroup instance
46      *                  was created
47      * @param group the jid of the room to which the person is invited
48      * @param workgroup the jid of the workgroup issuing the invitation
49      * @param sessID the session id associated with the pending chat
50      * @param msgBody the body of the message which contained the invitation
51      * @param from the user jid who issued the invitation, if known, null otherwise
52      */
WorkgroupInvitation(String jid, String group, String workgroup, String sessID, String msgBody, String from)53     public WorkgroupInvitation (String jid, String group, String workgroup,
54                        String sessID, String msgBody, String from) {
55         this(jid, group, workgroup, sessID, msgBody, from, null);
56     }
57 
58     /**
59      * @param jid the jid string with which the issuing AgentSession or Workgroup instance
60      *                  was created
61      * @param group the jid of the room to which the person is invited
62      * @param workgroup the jid of the workgroup issuing the invitation
63      * @param sessID the session id associated with the pending chat
64      * @param msgBody the body of the message which contained the invitation
65      * @param from the user jid who issued the invitation, if known, null otherwise
66      * @param metaData the metadata sent with the invitation
67      */
WorkgroupInvitation(String jid, String group, String workgroup, String sessID, String msgBody, String from, Map<String, List<String>> metaData)68     public WorkgroupInvitation (String jid, String group, String workgroup, String sessID, String msgBody,
69                        String from, Map<String, List<String>> metaData) {
70         super();
71 
72         this.uniqueID = jid;
73         this.sessionID = sessID;
74         this.groupChatName = group;
75         this.issuingWorkgroupName = workgroup;
76         this.messageBody = msgBody;
77         this.invitationSender = from;
78         this.metaData = metaData;
79     }
80 
81     /**
82      * @return the jid string with which the issuing AgentSession or Workgroup instance
83      *  was created.
84      */
getUniqueID()85     public String getUniqueID () {
86         return this.uniqueID;
87     }
88 
89     /**
90      * @return the session id associated with the pending chat; working backwards temporally,
91      *              this session id should match the session id to the corresponding offer request
92      *              which resulted in this invitation.
93      */
getSessionID()94     public String getSessionID () {
95         return this.sessionID;
96     }
97 
98     /**
99      * @return the jid of the room to which the person is invited.
100      */
getGroupChatName()101     public String getGroupChatName () {
102         return this.groupChatName;
103     }
104 
105     /**
106      * @return the name of the workgroup from which the invitation was issued.
107      */
getWorkgroupName()108     public String getWorkgroupName () {
109         return this.issuingWorkgroupName;
110     }
111 
112     /**
113      * @return the contents of the body-block of the message that housed this invitation.
114      */
getMessageBody()115     public String getMessageBody () {
116         return this.messageBody;
117     }
118 
119     /**
120      * @return the user who issued the invitation, or null if it wasn't known.
121      */
getInvitationSender()122     public String getInvitationSender () {
123         return this.invitationSender;
124     }
125 
126     /**
127      * @return the meta data associated with the invitation, or null if this instance was
128      *              constructed with none
129      */
getMetaData()130     public Map<String, List<String>> getMetaData () {
131         return this.metaData;
132     }
133 
134 }
135