Jive Messenger 2.2.2 Javadoc

org.jivesoftware.messenger.muc.spi
Class MUCUserImpl

java.lang.Object
  extended by org.jivesoftware.messenger.muc.spi.MUCUserImpl
All Implemented Interfaces:
ChannelHandler, MUCUser

public class MUCUserImpl
extends Object
implements MUCUser

Implementation of MUCUser. There will be a MUCUser per user that is connected to one or more rooms. A MUCUser contains a collection of MUCRoles for each room where the user has joined.

Author:
Gaston Dombiak

Method Summary
 JID getAddress()
          Obtain the address of the user.
 long getID()
          Obtain a user ID (useful for database indexing).
 long getLastPacketTime()
          Get time (in milliseconds from System currentTimeMillis()) since last packet.
 MUCRole getRole(String roomName)
          Obtain the role of the user in a particular room.
 Iterator<MUCRole> getRoles()
          Get all roles for this user.
 void process(IQ packet)
           
 void process(Message packet)
          This method does all packet routing in the chat server.
 void process(Packet packet)
          Process an XMPP packet.
 void process(Presence packet)
           
 void removeRole(String roomName)
          Removes the role of the use in a particular room.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getID

public long getID()
Description copied from interface: MUCUser
Obtain a user ID (useful for database indexing).

Specified by:
getID in interface MUCUser
Returns:
The user's id number if any (-1 indicates the implementation doesn't support ids)

getRole

public MUCRole getRole(String roomName)
                throws NotFoundException
Description copied from interface: MUCUser
Obtain the role of the user in a particular room.

Specified by:
getRole in interface MUCUser
Parameters:
roomName - The name of the room we're interested in
Returns:
The role the user plays in that room
Throws:
NotFoundException - if the user does not have a role in the given room

getRoles

public Iterator<MUCRole> getRoles()
Description copied from interface: MUCUser
Get all roles for this user.

Specified by:
getRoles in interface MUCUser
Returns:
Iterator over all roles for this user

removeRole

public void removeRole(String roomName)
Description copied from interface: MUCUser
Removes the role of the use in a particular room.

Note: PREREQUISITE: A lock on this object has already been obtained.

Specified by:
removeRole in interface MUCUser
Parameters:
roomName - The name of the room we're being removed

getLastPacketTime

public long getLastPacketTime()
Description copied from interface: MUCUser
Get time (in milliseconds from System currentTimeMillis()) since last packet.

Specified by:
getLastPacketTime in interface MUCUser
Returns:
The time when the last packet was sent from this user

getAddress

public JID getAddress()
Description copied from interface: MUCUser
Obtain the address of the user. The address is used by services like the core server packet router to determine if a packet should be sent to the handler. Handlers that are working on behalf of the server should use the generic server hostname address (e.g. server.com).

Specified by:
getAddress in interface MUCUser
Returns:
the address of the packet handler.

process

public void process(Packet packet)
             throws UnauthorizedException,
                    PacketException
Description copied from interface: ChannelHandler
Process an XMPP packet.

Specified by:
process in interface ChannelHandler
Parameters:
packet - a packet to process.
Throws:
UnauthorizedException - if not allowed to process the packet.
PacketException - thrown if the packet is malformed (results in the sender's session being shutdown).

process

public void process(Message packet)
This method does all packet routing in the chat server. Packet routing is actually very simple:

Parameters:
packet - The packet to route.

process

public void process(IQ packet)

process

public void process(Presence packet)

Jive Messenger 2.2.2 Javadoc

Copyright © 1999-2004 Jive Software.