Class IQBindHandler

All Implemented Interfaces:
ChannelHandler<org.xmpp.packet.IQ>, Module

public class IQBindHandler extends IQHandler
Binds a resource to the stream so that the client's address becomes a full JID. Once a resource has been bound to the session the entity (i.e. client) is considered a "connected resource".

Clients may specify a desired resource but if none was specified then the server will create a random resource for the session. The new resource should be in accordance with ResourcePrep. The server will also verify if there are previous sessions from the same user that are already using the resource specified by the user. Depending on the server configuration the old session may be kicked or the new session may be rejected.

Author:
Gaston Dombiak
  • Constructor Details

    • IQBindHandler

      public IQBindHandler()
  • Method Details

    • handleIQ

      public org.xmpp.packet.IQ handleIQ(org.xmpp.packet.IQ packet) throws UnauthorizedException
      Description copied from class: IQHandler
      Handles the received IQ packet.
      Specified by:
      handleIQ in class IQHandler
      Parameters:
      packet - the IQ packet to handle.
      Returns:
      the response to send back.
      Throws:
      UnauthorizedException - if the user that sent the packet is not authorized to request the given operation.
    • initialize

      public void initialize(XMPPServer server)
      Description copied from class: BasicModule

      Initializes the basic module.

      Inheriting classes that choose to override this method MUST call this initialize() method before accessing BasicModule resources.

      Specified by:
      initialize in interface Module
      Overrides:
      initialize in class IQHandler
      Parameters:
      server - the server hosting this module.
    • getInfo

      public IQHandlerInfo getInfo()
      Description copied from class: IQHandler
      Returns the handler information to help generically handle IQ packets. IQHandlers that aren't local server iq handlers (e.g. chatbots, transports, etc) return null.
      Specified by:
      getInfo in class IQHandler
      Returns:
      The IQHandlerInfo for this handler