package com.sissi.pipeline.in.iq;
import com.sissi.addressing.Addressing;
import com.sissi.context.JIDBuilder;
import com.sissi.pipeline.in.ClassMatcher;
import com.sissi.protocol.Protocol;
/**
* 匹配To无任何资源在线
*
* @author kim 2014年2月24日
*/
public class ToDelegationMatcher extends ClassMatcher {
private final JIDBuilder jidBuilder;
private final Addressing addressing;
public ToDelegationMatcher(Class<? extends Protocol> clazz, JIDBuilder jidBuilder, Addressing addressing) {
super(clazz);
this.jidBuilder = jidBuilder;
this.addressing = addressing;
}
public boolean match(Protocol protocol) {
return super.match(protocol) && this.addressing.resources(this.jidBuilder.build(protocol.parent().getTo())).isEmpty();
}
}