package com.reucon.openfire.plugin.archive.xep; import org.jivesoftware.openfire.IQHandlerInfo; import org.jivesoftware.openfire.handler.IQHandler; import org.jivesoftware.openfire.plugin.MonitoringPlugin; import org.xmpp.packet.IQ; import org.xmpp.packet.JID; import org.xmpp.packet.Packet; import org.xmpp.packet.PacketError; import com.reucon.openfire.plugin.archive.IndexManager; import com.reucon.openfire.plugin.archive.PersistenceManager; /** * Abstract base class for XEP-specific IQ Handlers. */ public abstract class AbstractIQHandler extends IQHandler { private final IQHandlerInfo info; protected AbstractIQHandler(String moduleName, String elementName, String namespace) { super(moduleName); this.info = new IQHandlerInfo(elementName, namespace); } public final IQHandlerInfo getInfo() { return info; } protected PersistenceManager getPersistenceManager(JID jid) { return MonitoringPlugin.getInstance().getPersistenceManager(jid); } protected IndexManager getIndexManager() { return MonitoringPlugin.getInstance().getIndexManager(); } protected IQ error(Packet packet, PacketError.Condition condition) { IQ reply; reply = new IQ(IQ.Type.error, packet.getID()); reply.setFrom(packet.getTo()); reply.setTo(packet.getFrom()); reply.setError(condition); return reply; } }