View Javadoc
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  }