/** | |
* $Revision$ | |
* $Date$ | |
* | |
* Copyright 2003-2007 Jive Software. | |
* | |
* All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package org.jivesoftware.smackx.workgroup; | |
import java.util.List; | |
import java.util.Map; | |
/** | |
* An immutable class wrapping up the basic information which comprises a group chat invitation. | |
* | |
* @author loki der quaeler | |
*/ | |
public class WorkgroupInvitation { | |
protected String uniqueID; | |
protected String sessionID; | |
protected String groupChatName; | |
protected String issuingWorkgroupName; | |
protected String messageBody; | |
protected String invitationSender; | |
protected Map<String, List<String>> metaData; | |
/** | |
* This calls the 5-argument constructor with a null MetaData argument value | |
* | |
* @param jid the jid string with which the issuing AgentSession or Workgroup instance | |
* was created | |
* @param group the jid of the room to which the person is invited | |
* @param workgroup the jid of the workgroup issuing the invitation | |
* @param sessID the session id associated with the pending chat | |
* @param msgBody the body of the message which contained the invitation | |
* @param from the user jid who issued the invitation, if known, null otherwise | |
*/ | |
public WorkgroupInvitation (String jid, String group, String workgroup, | |
String sessID, String msgBody, String from) { | |
this(jid, group, workgroup, sessID, msgBody, from, null); | |
} | |
/** | |
* @param jid the jid string with which the issuing AgentSession or Workgroup instance | |
* was created | |
* @param group the jid of the room to which the person is invited | |
* @param workgroup the jid of the workgroup issuing the invitation | |
* @param sessID the session id associated with the pending chat | |
* @param msgBody the body of the message which contained the invitation | |
* @param from the user jid who issued the invitation, if known, null otherwise | |
* @param metaData the metadata sent with the invitation | |
*/ | |
public WorkgroupInvitation (String jid, String group, String workgroup, String sessID, String msgBody, | |
String from, Map<String, List<String>> metaData) { | |
super(); | |
this.uniqueID = jid; | |
this.sessionID = sessID; | |
this.groupChatName = group; | |
this.issuingWorkgroupName = workgroup; | |
this.messageBody = msgBody; | |
this.invitationSender = from; | |
this.metaData = metaData; | |
} | |
/** | |
* @return the jid string with which the issuing AgentSession or Workgroup instance | |
* was created. | |
*/ | |
public String getUniqueID () { | |
return this.uniqueID; | |
} | |
/** | |
* @return the session id associated with the pending chat; working backwards temporally, | |
* this session id should match the session id to the corresponding offer request | |
* which resulted in this invitation. | |
*/ | |
public String getSessionID () { | |
return this.sessionID; | |
} | |
/** | |
* @return the jid of the room to which the person is invited. | |
*/ | |
public String getGroupChatName () { | |
return this.groupChatName; | |
} | |
/** | |
* @return the name of the workgroup from which the invitation was issued. | |
*/ | |
public String getWorkgroupName () { | |
return this.issuingWorkgroupName; | |
} | |
/** | |
* @return the contents of the body-block of the message that housed this invitation. | |
*/ | |
public String getMessageBody () { | |
return this.messageBody; | |
} | |
/** | |
* @return the user who issued the invitation, or null if it wasn't known. | |
*/ | |
public String getInvitationSender () { | |
return this.invitationSender; | |
} | |
/** | |
* @return the meta data associated with the invitation, or null if this instance was | |
* constructed with none | |
*/ | |
public Map<String, List<String>> getMetaData () { | |
return this.metaData; | |
} | |
} |