MultiUserChat类方法(翻译)
包:org.jivesoftware.smackx.muc
类:MultiUserChat
java.lang.Object
org.jivesoftware.smackx.muc.MultiUserChat
public class MultiUserChat extends Object
通过MultiUserChatManager.getMultiUserChat(EntityBareJid)创建的一个多人聊天室(A MultiUserChat room)(基于XEP-45规范)。
一个多人聊天室是很多用户在一个虚拟的房间进行的会话。一个房间有扮演不同角色和不同隶属关系的很多人,隶属关系比如:“拥有者”(owner),“管理员”(admin),“成员”(member),“非成员”(outcast),他们可以扮演“主持人”,“参与者”,“围观的人”这些角色。每个角色和隶属关系拥有不同的权限(比如,给全体成员发送消息,踢掉成员或访客,允许语音,编辑成员列表等等)
注意:当你不需要多人聊天的时候,使用leave()离开,否则可能造成实例泄露。
嵌套类:
class MultiUserChat.MucCreateConfigFormHandle
说明:用于配置新创建房间的句柄
方法:
boolean addInvitationRejectionListener(InvitationRejectionListener listener)
添加邀请被拒绝通知的监听
boolean addMessageListener(MessageListener listener)
添加一个节消息监听,当群聊天有新消息的时候将收到通知
boolean addParticipantListener(PresenceListener listener)
添加一个节消息监听,当群聊天有新的Presence包发送的时候将收到通知
boolean addParticipantStatusListener(ParticipantStatusListener listener)
添加一个监听,当房间成员状态发生变化,比如被踢,禁止,或获得管理员权限的时候将收到通知。
void addPresenceInterceptor(PresenceListener presenceInterceptor)
添加一个StanzaListener监听,每次多人聊天室有新的Presence发送到服务器的时候被调用。
boolean addSubjectUpdatedListener(SubjectUpdatedListener listener)
添加subject改变的监听
boolean addUserStatusListener(UserStatusListener listener)
添加一个监听,当你在房间的状态发生改变,比如被踢,禁止或获得管理员权限的时候将收到通知。
void banUser(Jid jid, String reason)
禁止一个用户
void banUsers(Collection<? extends Jid> jids)
禁止多个用户
MessageBuilder buildMessage()
构造一个新消息,用于发送到多人聊天室
void changeAvailabilityStatus(String status, Presence.Mode mode)
改变房间内成员可使用的状态
void changeNickname(Resourcepart nickname)
改变房间内成员的昵称
void changeSubject(String subject)
改变房间的subject
MultiUserChat.MucCreateConfigFormHandle create(Resourcepart nickname)
创建房间通过一些默认的配置,设置请求创建用户为房间所有者,让所有者加入房间,并且不允许其他任何人进入该房间(有效地“锁定”房间)
Message createMessage()
被弃用,使用buildMessage()代替
MultiUserChat.MucCreateConfigFormHandle createOrJoin(MucEnterConfiguration mucEnterConfiguration)
跟create(Resourcepart)类似,但是如果房间创建被服务器接受(返回201状态码),则会返回一个MultiUserChat.MucCreateConfigFormHandle
MultiUserChat.MucCreateConfigFormHandle createOrJoin(Resourcepart nickname)
以给定的昵称创建或加入多人聊天
MultiUserChat.MucCreateConfigFormHandle createOrJoinIfNecessary(Resourcepart nickname, String password)
如果有必要的话,创建或加入一个多人聊天室
Chat createPrivateChat(EntityFullJid occupant, ChatMessageListener listener)
与指定的房间成员创建一个用于发送私有消息的新的会话
void destroy(String reason, EntityBareJid alternateJID)
向服务器发送销毁房间的请求
List<Affiliate> getAdmins()
返回管理员的Affiliate列表
MucConfigFormManager getConfigFormManager()
获得配置房间的MucConfigFormManager
Form getConfigurationForm()
返回房间的配置表单供房间的拥有者使用,如何没有配置提供的话,返回null
MucEnterConfiguration.Builder getEnterConfigurationBuilder(Resourcepart nickname)
获得一个新的多人聊天室配置builder
List<Affiliate> getMembers()
获得房间成员的Affiliate列表
List<Occupant> getModerators()
获得房间moderators列表
Resourcepart getNickname()
获得进入房间的昵称,如果当前没有加入的话,返回null
Occupant getOccupant(EntityFullJid user)
返回指定成员的信息,如果成员不在房间的话,返回null
Presence getOccupantPresence(EntityFullJid user)
返回指定成员的presence信息,如果成员不在房间的话,返回null
List<EntityFullJid> getOccupants()
返回在群组会话中成员的完整列表
int getOccupantsCount()
返回群会话成员数量
List<Affiliate> getOutcasts()
返回房间没有加入的访客(outcasts)的Affiliate列表
List<Affiliate> getOwners()
返回房间所有者的Affiliate列表
List<Occupant> getParticipants()
返回房间参与者列表
Form getRegistrationForm()
返回房间房间注册表单,供用户用来成为房间的一员,如果没有注册表单,则返回null
String getReservedNickname()
为在房间的用户返回提供服务的房间的昵称
EntityBareJid getRoom()
返回多人会话的房间名
String getSubject()
返回房间的最后一个subject。如果用户没有加入房间或者房间还没有一个subject则返回null
XMPPConnection getXmppConnection()
获得与会话实例相关联的XMPP连接
void grantAdmin(Collection<? extends Jid> jids)
为其他用户授予管理员权限
void grantAdmin(Jid jid)
为另一个用户授予管理员权限
void grantMembership(Collection<? extends Jid> jids)
为其他用户授予成员权限(membership)
void grantMembership(Jid jid)
授予某个用户成员权限
void grantModerator(Collection<Resourcepart> nicknames)
为参与者或参观者授予moderator权限
void grantModerator(Resourcepart nickname)
为多个参与者或参观者授予moderator权限
void grantOwnership(Collection<? extends Jid> jids)
为其他用户授予所有者权限(ownership)
void grantOwnership(Jid jid)
为另一个用户授予所有者权限
void grantVoice(Collection<Resourcepart> nicknames)
为房间的访客授予声音权限
void grantVoice(Resourcepart nickname)
为房间的某一访客授予声音权限
void invite(MessageBuilder messageBuilder, EntityBareJid user, String reason)
使用一个消息,邀请另一个用户加入自己已加入的房间
void invite(Message message, EntityBareJid user, String reason)
已废弃,使用invite(MessageBuilder, EntityBareJid, String)代替
void invite(EntityBareJid user, String reason)
邀请另一个用户到自己已加入的房间
boolean isJoined()
如果当前在多人聊天室,则返回真
void join(MucEnterConfiguration mucEnterConfiguration)
使用特定的昵称和密码加入房间
void join(Resourcepart nickname)
使用特定的昵称加入房间
void join(Resourcepart nickname, String password)
使用特定的昵称和密码加入房间
void kickParticipant(Resourcepart nickname, String reason)
从房间踢出一个访客或成员
Presence leave()
离开房间
Presence leaveSync()
已弃用,使用leave()代替
Message nextMessage()
返回会话中下一个可用的消息
Message nextMessage(long timeout)
返回会话中下一个可用的消息
Message pollMessage()
Polls for并且返回下一条消息,如果没有一个立马可用的消息则返回null
boolean removeInvitationRejectionListener(InvitationRejectionListener listener)
移除对邀请拒绝通知的监听
boolean removeMessageListener(MessageListener listener)
移除多人聊天室对新消息的接听
boolean removeParticipantListener(PresenceListener listener)
移除对发送到群会话Presence包的监听
boolean removeParticipantStatusListener(ParticipantStatusListener listener)
移动对成员被踢,禁止,或获得管理员权限等状态改变的监听
voidremovePresenceInterceptor(PresenceListener presenceInterceptor)
移除对多人聊天室每一次发送新presence到服务器的节监听器(StanzaListener)
boolean removeSubjectUpdatedListener(SubjectUpdatedListener listener)
移除对subject改变的监听
boolean removeUserStatusListener(UserStatusListener listener)
移除对用户自己状态改变,如被踢,被禁止,或被授予管理员权限的监听
void requestVoice()
向多人聊天室发送一个声音请求(a voice request)
void revokeAdmin(Collection<? extends Jid> jids)
取消某些人的管理员权限
void revokeAdmin(EntityJid jid)
取消某个人的管理员权限
void revokeMembership(Collection<? extends Jid> jids)
取消某些成员的成员权限
void revokeMembership(Jid jid)
取消某个人的成员权限
void revokeModerator(Collection<Resourcepart> nicknames)
取消其他用户的moderator权限
void revokeModerator(Resourcepart nickname)
取消另一个用户的moderator权限
void revokeOwnership(Collection<? extends Jid> jids)
取消其他用户的所有者权限
void revokeOwnership(Jid jid)
取消另一个用户的所有者权限
void revokeVoice(Collection<Resourcepart> nicknames)
取消声音
void revokeVoice(Resourcepart nickname)
取消某个成员的声音权限
void sendConfigurationForm(FillableForm form)
发送已完成的配置表单到服务器
void sendMessage(String text)
向聊天房间发送一条消息
void sendMessage(Message message)
已弃用,使用sendMessage(MessageBuilder) 代替
void sendMessage(MessageBuilder messageBuilder)
向聊天室发送一条消息
void sendRegistrationForm(FillableForm form)
向服务器发送已完成的注册表单
String toString()
继承自java.lang.Object的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait