Class IQHandler
- java.lang.Object
-
- org.jivesoftware.openfire.container.BasicModule
-
- org.jivesoftware.openfire.handler.IQHandler
-
- All Implemented Interfaces:
ChannelHandler,Module
- Direct Known Subclasses:
AdHocCommandHandler,IQBindHandler,IQBlockingHandler,IQDiscoInfoHandler,IQDiscoItemsHandler,IQEntityTimeHandler,IQLastActivityHandler,IQMessageCarbonsHandler,IQMUCvCardHandler,IQOfflineMessagesHandler,IQPEPHandler,IQPEPOwnerHandler,IQPingHandler,IQPrivacyHandler,IQPrivateHandler,IQRegisterHandler,IQRosterHandler,IQSessionEstablishmentHandler,IQSharedGroupHandler,IQvCardHandler,IQVersionHandler
public abstract class IQHandler extends BasicModule implements ChannelHandler
Base class whose main responsibility is to handle IQ packets. Subclasses may only need to specify the IQHandlerInfo (i.e. name and namespace of the packets to handle) and actually handle the IQ packet. Simplifies creation of simple TYPE_IQ message handlers.- Author:
- Gaston Dombiak
-
-
Field Summary
Fields Modifier and Type Field Description protected PacketDelivererdelivererprotected SessionManagersessionManager
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract IQHandlerInfogetInfo()Returns the handler information to help generically handle IQ packets.abstract org.xmpp.packet.IQhandleIQ(org.xmpp.packet.IQ packet)Handles the received IQ packet.voidinitialize(XMPPServer server)Initializes the basic module.voidprocess(org.xmpp.packet.Packet packet)Process an XMPP packet.-
Methods inherited from class org.jivesoftware.openfire.container.BasicModule
destroy, getName, start, stop
-
-
-
-
Field Detail
-
deliverer
protected PacketDeliverer deliverer
-
sessionManager
protected SessionManager sessionManager
-
-
Constructor Detail
-
IQHandler
public IQHandler(String moduleName)
Create a basic module with the given name.- Parameters:
moduleName- The name for the module or null to use the default
-
-
Method Detail
-
process
public void process(org.xmpp.packet.Packet packet) throws PacketExceptionDescription copied from interface:ChannelHandlerProcess an XMPP packet.- Specified by:
processin interfaceChannelHandler- Parameters:
packet- a packet to process.- Throws:
PacketException- thrown if the packet is malformed (results in the sender's session being shutdown).
-
handleIQ
public abstract org.xmpp.packet.IQ handleIQ(org.xmpp.packet.IQ packet) throws UnauthorizedExceptionHandles the received IQ packet.- 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 abstract IQHandlerInfo getInfo()
Returns the handler information to help generically handle IQ packets. IQHandlers that aren't local server iq handlers (e.g. chatbots, transports, etc) returnnull.- Returns:
- The IQHandlerInfo for this handler
-
initialize
public void initialize(XMPPServer server)
Description copied from class:BasicModuleInitializes the basic module.
Inheriting classes that choose to override this method MUST call this initialize() method before accessing BasicModule resources.
- Specified by:
initializein interfaceModule- Overrides:
initializein classBasicModule- Parameters:
server- the server hosting this module.
-
-