org.jivesoftware.smackx.workgroup.WorkgroupInvitation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of smack-legacy Show documentation
Show all versions of smack-legacy Show documentation
Smack legacy extensions.
Usually XEPs in the state 'retracted', 'rejected', 'deprecated',
'obsolete' or in a long standing 'deferred' state.
/**
*
* Copyright 2003-2007 Jive Software.
*
* 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;
import org.jxmpp.jid.Jid;
/**
* An immutable class wrapping up the basic information which comprises a group chat invitation.
*
* @author loki der quaeler
*/
public class WorkgroupInvitation {
protected Jid uniqueID;
protected String sessionID;
protected Jid groupChatName;
protected Jid issuingWorkgroupName;
protected String messageBody;
protected Jid invitationSender;
protected Map> 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 (Jid jid, Jid group, Jid workgroup,
String sessID, String msgBody, Jid from) {
this(jid, group, workgroup, sessID, msgBody, from, null);
}
/**
* WorkgroupInvitation.
* @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 (Jid jid, Jid group, Jid workgroup, String sessID, String msgBody,
Jid from, Map> metaData) {
super();
this.uniqueID = jid;
this.sessionID = sessID;
this.groupChatName = group;
this.issuingWorkgroupName = workgroup;
this.messageBody = msgBody;
this.invitationSender = from;
this.metaData = metaData;
}
/**
* Get the unique id.
* @return the jid string with which the issuing AgentSession or Workgroup instance
* was created.
*/
public Jid getUniqueID () {
return this.uniqueID;
}
/**
* Get the session id.
* @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;
}
/**
* Get the group chat name.
* @return the jid of the room to which the person is invited.
*/
public Jid getGroupChatName () {
return this.groupChatName;
}
/**
* Get workgroup name.
* @return the name of the workgroup from which the invitation was issued.
*/
public Jid getWorkgroupName () {
return this.issuingWorkgroupName;
}
/**
* Get the message body.
* @return the contents of the body-block of the message that housed this invitation.
*/
public String getMessageBody () {
return this.messageBody;
}
/**
* Get invitation sender.
* @return the user who issued the invitation, or null if it wasn't known.
*/
public Jid getInvitationSender () {
return this.invitationSender;
}
/**
* Get meta data.
* @return the meta data associated with the invitation, or null if this instance was
* constructed with none
*/
public Map> getMetaData () {
return this.metaData;
}
}