1 package com.foxinmy.weixin4j.handler;
2
3 import java.util.Set;
4
5 import com.foxinmy.weixin4j.request.WeixinMessage;
6 import com.foxinmy.weixin4j.request.WeixinRequest;
7 import com.foxinmy.weixin4j.response.WeixinResponse;
8
9 /**
10 * 微信消息处理器
11 *
12 * @className WeixinMessageHandler
13 * @author jinyu(foxinmy@gmail.com)
14 * @date 2015年5月7日
15 * @since JDK 1.6
16 * @see MessageHandlerAdapter
17 * @see MultipleMessageHandlerAdapter
18 */
19 public interface WeixinMessageHandler {
20
21 /**
22 * 能否处理请求
23 *
24 * @param request
25 * 微信请求
26 * @param message
27 * 微信消息
28 * @param nodeNames
29 * 节点名称集合
30 * @return true则执行doHandle
31 */
32 public boolean canHandle(WeixinRequest request, WeixinMessage message, Set<String> nodeNames);
33
34 /**
35 * 处理请求
36 *
37 * @param request
38 * 微信请求
39 * @param message
40 * 微信消息
41 * @return 回复内容
42 */
43 public WeixinResponse doHandle(WeixinRequest request, WeixinMessage message);
44
45 /**
46 * 用于匹配到多个MessageHandler时权重降序排列,数字越大优先级越高
47 *
48 * @return 权重
49 */
50 public int weight();
51 }