Class LocalMUCRole
- java.lang.Object
-
- org.jivesoftware.openfire.muc.spi.LocalMUCRole
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jivesoftware.openfire.muc.MUCRole
MUCRole.Affiliation, MUCRole.Role
-
-
Constructor Summary
Constructors Constructor Description LocalMUCRole(MultiUserChatService chatserver, LocalMUCRoom chatroom, String nickname, MUCRole.Role role, MUCRole.Affiliation affiliation, LocalMUCUser chatuser, org.xmpp.packet.Presence presence, PacketRouter packetRouter)Create a new role.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidchangeNickname(String nickname)Changes the nickname of the occupant within the room to the new nickname.voiddestroy()Destroys this role after the occupant left the room.booleanequals(Object obj)MUCRole.AffiliationgetAffiliation()Obtain the affiliation state of the user.MUCRoomgetChatRoom()Obtain the chat room that hosts this user's role.StringgetNickname()Obtain the nickname for the user in the chatroom.NodeIDgetNodeID()Returns the id of the node that is hosting the room occupant.org.xmpp.packet.PresencegetPresence()Obtain the current presence status of a user in a chatroom.org.xmpp.packet.JIDgetReportedFmucAddress()Obtain the XMPPAddress representing this role in a room in context of FMUC.MUCRole.RolegetRole()Obtain the role state of the user.org.xmpp.packet.JIDgetRoleAddress()Obtain the XMPPAddress representing this role in a room: room@server/nicknameorg.xmpp.packet.JIDgetUserAddress()Obtain the XMPPAddress of the user that joined the room.inthashCode()booleanisLocal()Returns true if this room occupant is hosted by this JVM.booleanisVoiceOnly()Returns true if the room occupant does not want to get messages broadcasted to all room occupants.voidsend(org.xmpp.packet.Packet packet)Sends a packet to the user.voidsetAffiliation(MUCRole.Affiliation newAffiliation)Call this method to promote or demote a user's affiliation in a chatroom.voidsetPresence(org.xmpp.packet.Presence newPresence)Set the current presence status of a user in a chatroom.voidsetReportedFmucAddress(org.xmpp.packet.JID reportedFmucAddress)voidsetRole(MUCRole.Role newRole)Call this method to promote or demote a user's role in a chatroom.StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jivesoftware.openfire.muc.MUCRole
augmentOutboundStanzaWithFMUCData, isRemoteFmuc
-
-
-
-
Constructor Detail
-
LocalMUCRole
public LocalMUCRole(MultiUserChatService chatserver, LocalMUCRoom chatroom, String nickname, MUCRole.Role role, MUCRole.Affiliation affiliation, LocalMUCUser chatuser, org.xmpp.packet.Presence presence, PacketRouter packetRouter)
Create a new role.- Parameters:
chatserver- the server hosting the role.chatroom- the room the role is valid in.nickname- the nickname of the user in the role.role- the role of the user in the room.affiliation- the affiliation of the user in the room.chatuser- the user on the chat server.presence- the presence sent by the user to join the room.packetRouter- the packet router for sending messages from this role.
-
-
Method Detail
-
getPresence
public org.xmpp.packet.Presence getPresence()
Description copied from interface:MUCRoleObtain the current presence status of a user in a chatroom.- Specified by:
getPresencein interfaceMUCRole- Returns:
- The presence of the user in the room.
-
setPresence
public void setPresence(org.xmpp.packet.Presence newPresence)
Description copied from interface:MUCRoleSet the current presence status of a user in a chatroom.- Specified by:
setPresencein interfaceMUCRole- Parameters:
newPresence- The presence of the user in the room.
-
setRole
public void setRole(MUCRole.Role newRole) throws NotAllowedException
Description copied from interface:MUCRoleCall this method to promote or demote a user's role in a chatroom. It is common for the chatroom or other chat room members to change the role of users (a moderator promoting another user to moderator status for example).Owning ChatUsers should have their membership roles updated.
- Specified by:
setRolein interfaceMUCRole- Parameters:
newRole- The new role that the user will play.- Throws:
NotAllowedException- Thrown if trying to change the moderator role to an owner or administrator.
-
getRole
public MUCRole.Role getRole()
Description copied from interface:MUCRoleObtain the role state of the user.
-
setAffiliation
public void setAffiliation(MUCRole.Affiliation newAffiliation) throws NotAllowedException
Description copied from interface:MUCRoleCall this method to promote or demote a user's affiliation in a chatroom.- Specified by:
setAffiliationin interfaceMUCRole- Parameters:
newAffiliation- the new affiliation that the user will play.- Throws:
NotAllowedException- thrown if trying to ban an owner or an administrator.
-
getAffiliation
public MUCRole.Affiliation getAffiliation()
Description copied from interface:MUCRoleObtain the affiliation state of the user.- Specified by:
getAffiliationin interfaceMUCRole- Returns:
- The affiliation status of this user.
-
getNickname
public String getNickname()
Description copied from interface:MUCRoleObtain the nickname for the user in the chatroom.- Specified by:
getNicknamein interfaceMUCRole- Returns:
- The user's nickname in the room or null if invisible.
-
changeNickname
public void changeNickname(String nickname)
Description copied from interface:MUCRoleChanges the nickname of the occupant within the room to the new nickname.- Specified by:
changeNicknamein interfaceMUCRole- Parameters:
nickname- the new nickname of the occupant in the room.
-
destroy
public void destroy()
Description copied from interface:MUCRoleDestroys this role after the occupant left the room. This role will be removed from MUCUser.
-
getChatRoom
public MUCRoom getChatRoom()
Description copied from interface:MUCRoleObtain the chat room that hosts this user's role.- Specified by:
getChatRoomin interfaceMUCRole- Returns:
- The chatroom hosting this role.
-
getRoleAddress
public org.xmpp.packet.JID getRoleAddress()
Description copied from interface:MUCRoleObtain the XMPPAddress representing this role in a room: room@server/nickname- Specified by:
getRoleAddressin interfaceMUCRole- Returns:
- The Jabber ID that represents this role in the room.
-
getUserAddress
public org.xmpp.packet.JID getUserAddress()
Description copied from interface:MUCRoleObtain the XMPPAddress of the user that joined the room. Anullnull value represents the room's role.- Specified by:
getUserAddressin interfaceMUCRole- Returns:
- The address of the user that joined the room or null if this role belongs to the room itself.
-
getReportedFmucAddress
public org.xmpp.packet.JID getReportedFmucAddress()
Description copied from interface:MUCRoleObtain the XMPPAddress representing this role in a room in context of FMUC. This typically represents the XMPPAddress as it is known locally at the joining FMUC node. For users that are joined through FMUC from a remote node, this method will return the value as reported by the joining FMUC node. For users that are in the room, but connected directly to this instance of Openfire, this method returns null, even if the room is part of an FMUC node. Users that joined through server-to-server federation (as opposed to FMUC), will not have a FMUC address. Null is returned by this method for these users.- Specified by:
getReportedFmucAddressin interfaceMUCRole- Returns:
- The address of the user that joined the room through FMUC from a remote domain, or null.
-
setReportedFmucAddress
public void setReportedFmucAddress(@Nonnull org.xmpp.packet.JID reportedFmucAddress)
-
isLocal
public boolean isLocal()
Description copied from interface:MUCRoleReturns true if this room occupant is hosted by this JVM.
-
getNodeID
public NodeID getNodeID()
Description copied from interface:MUCRoleReturns the id of the node that is hosting the room occupant.
-
isVoiceOnly
public boolean isVoiceOnly()
Description copied from interface:MUCRoleReturns true if the room occupant does not want to get messages broadcasted to all room occupants. This type of users are called "deaf" occupants. Deaf occupants will still be able to get private messages, presences, IQ packets or room history.To be a deaf occupant the initial presence sent to the room while joining the room has to include the following child element:
<x xmlns='http://jivesoftware.org/protocol/muc'> <deaf-occupant/> </x>Note that this is a custom extension to the MUC specification.- Specified by:
isVoiceOnlyin interfaceMUCRole- Returns:
- true if the room occupant does not want to get messages broadcasted to all room occupants.
-
send
public void send(org.xmpp.packet.Packet packet)
Description copied from interface:MUCRoleSends a packet to the user.
-
-