Class IQLastActivityHandler

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

public class IQLastActivityHandler extends IQHandler implements ServerFeaturesProvider
Implements the TYPE_IQ jabber:iq:last protocol (last activity). Allows users to find out the number of seconds another user has been offline. This information is only available to those users that already subscribed to the users presence. Otherwhise, a forbidden error will be returned.
Author:
Gaston Dombiak
  • Constructor Details

    • IQLastActivityHandler

      public IQLastActivityHandler()
  • 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.
    • 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
    • getFeatures

      public Iterator<String> getFeatures()
      Description copied from interface: ServerFeaturesProvider
      Returns an Iterator (of String) with the supported features by the server. The features to include are the features offered and supported protocols by the SERVER. The idea is that different modules may provide their features that will ultimately be part of the features offered by the server.
      Specified by:
      getFeatures in interface ServerFeaturesProvider
      Returns:
      an Iterator (of String) with the supported features by the server.
    • 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.