Plug-in
所有的Tigase插件实现都存在于 tigase.xmpp.impl。你可以把它们作为样例代码来学习。插件有四种类型,它们的接口在tigase.xmpp包当中:
1、XMPPProcessorIfc – 最重要最基础的插件接口,这是最通用的在普通模式下处理stanzas的插件类型。它接收packet,在用户动作的基础上处理packet,并最终返回packet。
public interface XMPPProcessorIfc extends XMPPImplIfc {
void process(Packet packet, XMPPResourceConnection session,
NonAuthUserRepository repo, Queue results,
Map settings) throws XMPPException;
}
2、XMPPPreprocessorIfc – XMPP预处理插件接口。
public interface XMPPPreprocessorIfc extends XMPPImplIfc {
boolean preProcess(Packet packet, XMPPResourceConnection session,
NonAuthUserRepository repo, Queue results, Map settings);
}
3、XMPPPostprocessorIfc – XMPP投递插件接口。
public interface XMPPPostprocessorIfc extends XMPPImplIfc {
void postProcess(Packet packet, XMPPResourceConnection session, NonAuthUserRepository repo,
Queue<Packet> results, Map<String, Object> settings);
}
4、XMPPPacketFilterIfc – XMPP过滤器插件接口。详情请阅读Tigase组件 – Packet过滤
public interface XMPPPacketFilterIfc extends XMPPImplIfc {
void filter(Packet packet, XMPPResourceConnection session, NonAuthUserRepository repo,
Queue<Packet> results);
}