Class IQAdminHandler


  • public class IQAdminHandler
    extends Object
    A handler for the IQ packet with namespace http://jabber.org/protocol/muc#admin. This kind of packets are usually sent by room admins. So this handler provides the necessary functionality to support administrator requirements such as: managing room members/outcasts/etc., kicking occupants and banning users.
    Author:
    Gaston Dombiak
    • Constructor Detail

      • IQAdminHandler

        public IQAdminHandler​(MUCRoom chatroom)
    • Method Detail

      • handleIQ

        public void handleIQ​(org.xmpp.packet.IQ packet,
                             MUCRole sender)
                      throws ForbiddenException,
                             ConflictException,
                             NotAllowedException,
                             CannotBeInvitedException
        Handles the IQ packet sent by an owner or admin of the room. Possible actions are:
        • Return the list of participants
        • Return the list of moderators
        • Return the list of members
        • Return the list of outcasts
        • Change user's affiliation to member
        • Change user's affiliation to outcast
        • Change user's affiliation to none
        • Change occupant's affiliation to moderator
        • Change occupant's affiliation to participant
        • Change occupant's affiliation to visitor
        • Kick occupants from the room
        Parameters:
        packet - the IQ packet sent by an owner or admin of the room.
        sender - the occupant data of the user that sent the request packet.
        Throws:
        ForbiddenException - If the user is not allowed to perform his request.
        ConflictException - If the desired room nickname is already reserved for the room or if the room was going to lose all of its owners.
        NotAllowedException - Thrown if trying to ban an owner or an administrator.
        CannotBeInvitedException - If the user being invited as a result of being added to a members-only room still does not have permission