View Javadoc
1   package com.foxinmy.weixin4j.http.message;
2   
3   import java.io.IOException;
4   import java.util.List;
5   
6   import com.foxinmy.weixin4j.http.HttpResponse;
7   import com.foxinmy.weixin4j.http.MimeType;
8   
9   /**
10   * 消息转换接口
11   * 
12   * @className MessageConverter
13   * @author jinyu
14   * @date Jul 20, 2016
15   * @since JDK 1.6
16   * @see JsonMessageConverter
17   * @see XmlMessageConverter
18   */
19  public interface MessageConverter {
20  	/**
21  	 * 获取可以转换的媒体类型
22  	 * 
23  	 * @return 媒体列表
24  	 */
25  	public List<MimeType> supportedMimeTypes();
26  
27  	/**
28  	 * 是否可以转换
29  	 * 
30  	 * @param clazz
31  	 *            转换类型
32  	 * @param response
33  	 *            响应对象
34  	 * @return 是否标识
35  	 */
36  	public boolean canConvert(Class<?> clazz, HttpResponse response);
37  
38  	/**
39  	 * 转换消息
40  	 * 
41  	 * @param clazz
42  	 *            转换类型
43  	 * @param response
44  	 *            响应对象
45  	 * @throws IOException
46  	 * @return 消息对象
47  	 */
48  	public <T> T convert(Class<? extends T> clazz, HttpResponse response)
49  			throws IOException;
50  }