Openfire 3.9.3 Javadoc

org.jivesoftware.openfire.muc.spi
Class RemoteMUCRole

java.lang.Object
  extended by org.jivesoftware.openfire.muc.spi.RemoteMUCRole
All Implemented Interfaces:
Externalizable, Serializable, MUCRole

public class RemoteMUCRole
extends Object
implements MUCRole, Externalizable

Representation of a room occupant of a local room that is being hosted by another cluster node. An instance of this class will exist for each room occupant that is hosted by another cluster node. Local rooms keep track of local and remote occupants in a transparent way.

Author:
Gaston Dombiak
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jivesoftware.openfire.muc.MUCRole
MUCRole.Affiliation, MUCRole.Role
 
Constructor Summary
RemoteMUCRole()
          Do not use this constructor.
RemoteMUCRole(MultiUserChatService server, OccupantAddedEvent event)
           
 
Method Summary
 void changeNickname(String nickname)
          Changes the nickname of the occupant within the room to the new nickname.
 void destroy()
          Destroys this role after the occupant left the room.
 MUCRole.Affiliation getAffiliation()
          Obtain the affiliation state of the user.
 MUCRoom getChatRoom()
          Obtain the chat room that hosts this user's role.
 String getNickname()
          Obtain the nickname for the user in the chatroom.
 NodeID getNodeID()
          Returns the id of the node that is hosting the room occupant.
 org.xmpp.packet.Presence getPresence()
          Obtain the current presence status of a user in a chatroom.
 MUCRole.Role getRole()
          Obtain the role state of the user.
 org.xmpp.packet.JID getRoleAddress()
          Obtain the XMPPAddress representing this role in a room: room@server/nickname
 org.xmpp.packet.JID getUserAddress()
          Obtain the XMPPAddress of the user that joined the room.
 boolean isLocal()
          Returns true if this room occupant is hosted by this JVM.
 boolean isVoiceOnly()
          Returns true if the room occupant does not want to get messages broadcasted to all room occupants.
 void readExternal(ObjectInput in)
           
 void send(org.xmpp.packet.Packet packet)
          Sends a packet to the user.
 void setAffiliation(MUCRole.Affiliation newAffiliation)
          Call this method to promote or demote a user's affiliation in a chatroom.
 void setPresence(org.xmpp.packet.Presence presence)
          Set the current presence status of a user in a chatroom.
 void setRole(MUCRole.Role newRole)
          Call this method to promote or demote a user's role in a chatroom.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteMUCRole

public RemoteMUCRole()
Do not use this constructor. Only used for Externalizable.


RemoteMUCRole

public RemoteMUCRole(MultiUserChatService server,
                     OccupantAddedEvent event)
Method Detail

getPresence

public org.xmpp.packet.Presence getPresence()
Description copied from interface: MUCRole
Obtain the current presence status of a user in a chatroom.

Specified by:
getPresence in interface MUCRole
Returns:
The presence of the user in the room.

setPresence

public void setPresence(org.xmpp.packet.Presence presence)
Description copied from interface: MUCRole
Set the current presence status of a user in a chatroom.

Specified by:
setPresence in interface MUCRole
Parameters:
presence - The presence of the user in the room.

setRole

public void setRole(MUCRole.Role newRole)
Description copied from interface: MUCRole
Call 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:
setRole in interface MUCRole
Parameters:
newRole - The new role that the user will play.

getRole

public MUCRole.Role getRole()
Description copied from interface: MUCRole
Obtain the role state of the user.

Specified by:
getRole in interface MUCRole
Returns:
The role status of this user.

setAffiliation

public void setAffiliation(MUCRole.Affiliation newAffiliation)
Description copied from interface: MUCRole
Call this method to promote or demote a user's affiliation in a chatroom.

Specified by:
setAffiliation in interface MUCRole
Parameters:
newAffiliation - the new affiliation that the user will play.

getAffiliation

public MUCRole.Affiliation getAffiliation()
Description copied from interface: MUCRole
Obtain the affiliation state of the user.

Specified by:
getAffiliation in interface MUCRole
Returns:
The affiliation status of this user.

changeNickname

public void changeNickname(String nickname)
Description copied from interface: MUCRole
Changes the nickname of the occupant within the room to the new nickname.

Specified by:
changeNickname in interface MUCRole
Parameters:
nickname - the new nickname of the occupant in the room.

getNickname

public String getNickname()
Description copied from interface: MUCRole
Obtain the nickname for the user in the chatroom.

Specified by:
getNickname in interface MUCRole
Returns:
The user's nickname in the room or null if invisible.

destroy

public void destroy()
Description copied from interface: MUCRole
Destroys this role after the occupant left the room. This role will be removed from MUCUser.

Specified by:
destroy in interface MUCRole

isVoiceOnly

public boolean isVoiceOnly()
Description copied from interface: MUCRole
Returns 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:
isVoiceOnly in interface MUCRole
Returns:
true if the room occupant does not want to get messages broadcasted to all room occupants.

getChatRoom

public MUCRoom getChatRoom()
Description copied from interface: MUCRole
Obtain the chat room that hosts this user's role.

Specified by:
getChatRoom in interface MUCRole
Returns:
The chatroom hosting this role.

getRoleAddress

public org.xmpp.packet.JID getRoleAddress()
Description copied from interface: MUCRole
Obtain the XMPPAddress representing this role in a room: room@server/nickname

Specified by:
getRoleAddress in interface MUCRole
Returns:
The Jabber ID that represents this role in the room.

getUserAddress

public org.xmpp.packet.JID getUserAddress()
Description copied from interface: MUCRole
Obtain the XMPPAddress of the user that joined the room. A null null value represents the room's role.

Specified by:
getUserAddress in interface MUCRole
Returns:
The address of the user that joined the room or null if this role belongs to the room itself.

isLocal

public boolean isLocal()
Description copied from interface: MUCRole
Returns true if this room occupant is hosted by this JVM.

Specified by:
isLocal in interface MUCRole
Returns:
true if this room occupant is hosted by this JVM

getNodeID

public NodeID getNodeID()
Description copied from interface: MUCRole
Returns the id of the node that is hosting the room occupant.

Specified by:
getNodeID in interface MUCRole
Returns:
the id of the node that is hosting the room occupant.

send

public void send(org.xmpp.packet.Packet packet)
Description copied from interface: MUCRole
Sends a packet to the user.

Specified by:
send in interface MUCRole
Parameters:
packet - The packet to send

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException

Openfire 3.9.3 Javadoc

Copyright © 2003-2008 Jive Software.