Class IQPrivateHandler
java.lang.Object
org.jivesoftware.openfire.container.BasicModule
org.jivesoftware.openfire.handler.IQHandler
org.jivesoftware.openfire.handler.IQPrivateHandler
- All Implemented Interfaces:
ChannelHandler<org.xmpp.packet.IQ>,Module,ServerFeaturesProvider
Implements the TYPE_IQ jabber:iq:private protocol. Clients
use this protocol to store and retrieve arbitrary application
configuration information. Using the server for setting storage
allows client configurations to follow users where ever they go.
A 'get' query retrieves any stored data. A 'set' query stores new data.
Currently an empty implementation to allow usage with normal clients. Future implementation needed.
Assumptions
This handler assumes that the request is addressed to the server. An appropriate TYPE_IQ tag matcher should be placed in front of this one to route TYPE_IQ requests not addressed to the server to another channel (probably for direct delivery to the recipient).Warning
There should be a way of determining whether a session has authorization to access this feature. I'm not sure it is a good idea to do authorization in each handler. It would be nice if the framework could assert authorization policies across channels.- Author:
- Iain Shigeoka
-
Field Summary
FieldsFields inherited from class org.jivesoftware.openfire.handler.IQHandler
deliverer, sessionManager -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns an Iterator (of String) with the supported features by the server.getInfo()Returns the handler information to help generically handle IQ packets.org.xmpp.packet.IQhandleIQ(org.xmpp.packet.IQ packet) Handles the received IQ packet.voidinitialize(XMPPServer server) Initializes the basic module.Methods inherited from class org.jivesoftware.openfire.handler.IQHandler
performNoSuchUserCheck, process, processNoSuchUserCheckMethods inherited from class org.jivesoftware.openfire.container.BasicModule
destroy, getName, start, stop
-
Field Details
-
NAMESPACE
- See Also:
-
-
Constructor Details
-
IQPrivateHandler
public IQPrivateHandler()
-
-
Method Details
-
handleIQ
public org.xmpp.packet.IQ handleIQ(org.xmpp.packet.IQ packet) throws UnauthorizedException, PacketException Description copied from class:IQHandlerHandles the received IQ packet.- Specified by:
handleIQin classIQHandler- 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.PacketException
-
initialize
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 classIQHandler- Parameters:
server- the server hosting this module.
-
getInfo
Description copied from class:IQHandlerReturns the handler information to help generically handle IQ packets. IQHandlers that aren't local server iq handlers (e.g. chatbots, transports, etc) returnnull. -
getFeatures
Description copied from interface:ServerFeaturesProviderReturns 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:
getFeaturesin interfaceServerFeaturesProvider- Returns:
- an Iterator (of String) with the supported features by the server.
-