/** * $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.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, ?> 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, ?> metaData) { super(); uniqueID = jid; sessionID = sessID; groupChatName = group; issuingWorkgroupName = workgroup; messageBody = msgBody; invitationSender = from; this.metaData = metaData; } /** * @return the jid of the room to which the person is invited. */ public String getGroupChatName() { return groupChatName; } /** * @return the user who issued the invitation, or null if it wasn't known. */ public String getInvitationSender() { return invitationSender; } /** * @return the contents of the body-block of the message that housed this * invitation. */ public String getMessageBody() { return messageBody; } /** * @return the meta data associated with the invitation, or null if this * instance was constructed with none */ public Map<String, ?> getMetaData() { return metaData; } /** * @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 sessionID; } /** * @return the jid string with which the issuing AgentSession or Workgroup * instance was created. */ public String getUniqueID() { return uniqueID; } /** * @return the name of the workgroup from which the invitation was issued. */ public String getWorkgroupName() { return issuingWorkgroupName; } }