Package com.sissi.ucenter.relation.muc.affiliation.impl

Source Code of com.sissi.ucenter.relation.muc.affiliation.impl.InviteAffiliationBroadcast

package com.sissi.ucenter.relation.muc.affiliation.impl;

import com.sissi.context.JID;
import com.sissi.context.JIDBuilder;
import com.sissi.context.JIDContext;
import com.sissi.pipeline.Input;
import com.sissi.protocol.message.Message;
import com.sissi.protocol.muc.Invite;
import com.sissi.protocol.muc.XUser;
import com.sissi.ucenter.relation.muc.MucItem;
import com.sissi.ucenter.relation.muc.affiliation.AffiliationBroadcast;
import com.sissi.ucenter.relation.muc.room.Room;
import com.sissi.ucenter.relation.muc.room.RoomConfig;

/**
* MUC房间邀请广播
*
* @author kim 2014年3月24日
*/
public class InviteAffiliationBroadcast implements AffiliationBroadcast {

  private final Input proxy;

  private final JIDBuilder jidBuilder;

  public InviteAffiliationBroadcast(Input proxy, JIDBuilder jidBuilder) {
    super();
    this.proxy = proxy;
    this.jidBuilder = jidBuilder;
  }

  @Override
  public AffiliationBroadcast broadcast(JID group, Room room, MucItem item, JIDContext invoker) {
    // 岗位限制则发出加入邀请
    if (!room.allowed(this.jidBuilder.build(item.getJid()), RoomConfig.AFFILIATIONALLOW)) {
      // Message.to = group, Invite.to = item.jid
      this.proxy.input(invoker, new Message().muc(new XUser().invite(new Invite().setTo(item.getJid()))).setTo(group));
    }
    return this;
  }
}
TOP

Related Classes of com.sissi.ucenter.relation.muc.affiliation.impl.InviteAffiliationBroadcast

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.