package com.zone.weixin4j.handler; import com.zone.weixin4j.exception.WeixinException; import com.zone.weixin4j.request.WeixinMessage; import com.zone.weixin4j.request.WeixinRequest; import com.zone.weixin4j.response.WeixinResponse; import java.util.Set; /** * 微信消息处理器 * * @className WeixinMessageHandler * @author jinyu(foxinmy@gmail.com) * @date 2015年5月7日 * @since JDK 1.6 * @see MessageHandlerAdapter * @see MultipleMessageHandlerAdapter */ public interface WeixinMessageHandler { /** * 能否处理请求 * * @param request * 微信请求 * @param message * 微信消息 * @param nodeNames * 节点名称集合 * @return true则执行doHandle */ public boolean canHandle(WeixinRequest request, WeixinMessage message, Set<String> nodeNames) throws WeixinException; /** * 处理请求 * * @param request * 微信请求 * @param message * 微信消息 * @param nodeNames * 节点名称集合 * @return 回复内容 */ public WeixinResponse doHandle(WeixinRequest request, WeixinMessage message, Set<String> nodeNames) throws WeixinException; /** * 用于匹配到多个MessageHandler时权重降序排列,数字越大优先级越高 * * @return 权重 */ public int weight(); }