Class IQvCardHandler
- java.lang.Object
-
- org.jivesoftware.openfire.container.BasicModule
-
- org.jivesoftware.openfire.handler.IQHandler
-
- org.jivesoftware.openfire.handler.IQvCardHandler
-
- All Implemented Interfaces:
ChannelHandler
,Module
public class IQvCardHandler extends IQHandler
Implements the TYPE_IQ vcard-temp protocol. Clients use this protocol to set and retrieve the vCard information associated with someone's account.A 'get' query retrieves the vcard for the addressee. A 'set' query sets the vcard information for the sender's account.
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.Warning
I have noticed incompatibility between vCard XML used by Exodus and Psi. There is a new vCard standard going through the JSF JEP process. We might want to start either standardizing on clients (probably the most practical), sending notices for non-conformance (useful), or attempting to translate between client versions (not likely).- Author:
- Iain Shigeoka
-
-
Field Summary
-
Fields inherited from class org.jivesoftware.openfire.handler.IQHandler
deliverer, sessionManager
-
-
Constructor Summary
Constructors Constructor Description IQvCardHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IQHandlerInfo
getInfo()
Returns the handler information to help generically handle IQ packets.org.xmpp.packet.IQ
handleIQ(org.xmpp.packet.IQ packet)
Handles the received IQ packet.void
initialize(XMPPServer server)
Initializes the basic module.-
Methods inherited from class org.jivesoftware.openfire.handler.IQHandler
performNoSuchUserCheck, process, processNoSuchUserCheck
-
Methods inherited from class org.jivesoftware.openfire.container.BasicModule
destroy, getName, start, stop
-
-
-
-
Method Detail
-
handleIQ
public org.xmpp.packet.IQ handleIQ(org.xmpp.packet.IQ packet) throws UnauthorizedException, PacketException
Description copied from class:IQHandler
Handles the received IQ packet.- Specified by:
handleIQ
in 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
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 interfaceModule
- Overrides:
initialize
in classIQHandler
- 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) returnnull
.
-
-