Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.7.1 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jivesoftware.openfire.muc.spi
Class RemoteMUCRole

    java.lang.Object
      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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Openfire 3.7.1 Javadoc
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2008 Jive Software.