package com.sissi.pipeline.in.presence.probe; import com.sissi.context.JIDContext; import com.sissi.pipeline.in.ProxyProcessor; import com.sissi.protocol.Protocol; import com.sissi.protocol.presence.Presence; import com.sissi.protocol.presence.PresenceType; /** * 探针请求离线反馈 * * @author kim 2014年1月27日 */ public class PresenceProbeOfflineProcessor extends ProxyProcessor { @Override public boolean input(JIDContext context, Protocol protocol) { return super.resources(super.build(protocol.getTo())).isEmpty() ? this.writeAndReturn(context, Presence.class.cast(protocol)) : true; } private boolean writeAndReturn(JIDContext context, Presence presence) { context.write(presence.reply().setType(PresenceType.UNAVAILABLE.toString())); return false; } }