package com.sissi.pipeline.in.iq.muc.admin;
import com.sissi.context.JIDBuilder;
import com.sissi.pipeline.in.MucMatcher;
import com.sissi.protocol.Protocol;
import com.sissi.protocol.ProtocolType;
import com.sissi.protocol.muc.XMucAdmin;
import com.sissi.protocol.muc.XMucAdminAction;
/**
* <query xmlns='http://jabber.org/protocol/muc#admin'><item item='xxx'/affiliation='xxxx'/></query>
*
* @author kim 2014年3月14日
*/
public class MucActionMatcher extends MucMatcher {
private final XMucAdminAction action;
private final ProtocolType type;
public MucActionMatcher(JIDBuilder jidBuilder, String action, String type) {
super(XMucAdmin.class, jidBuilder);
this.type = ProtocolType.parse(type);
this.action = XMucAdminAction.parse(action);
}
public boolean match(Protocol protocol) {
return super.match(protocol) && protocol.parent().type(this.type) && protocol.cast(XMucAdmin.class).item(this.action);
}
}