1 package com.zone.weixin4j.response;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6
7
8
9
10
11
12
13
14
15 public class NewsResponse implements WeixinResponse {
16
17
18
19
20 private List<Article> articleList;
21
22 public NewsResponse(List<Article> articleList) {
23 this.articleList = articleList;
24 }
25
26 public NewsResponse(Article article) {
27 this.articleList = new ArrayList<Article>();
28 this.articleList.add(article);
29 }
30
31 public void pushArticle(Article article) {
32 articleList.add(article);
33 }
34
35 public void pushFirstArticle(Article article) {
36 articleList.add(0, article);
37 }
38
39 public void pushLastArticle(Article article) {
40 articleList.add(articleList.size(), article);
41 }
42
43 public Article removeLastArticle() {
44 return articleList.remove(articleList.size() - 1);
45 }
46
47 public Article removeFirstArticle() {
48 return articleList.remove(0);
49 }
50
51 public List<Article> getArticleList() {
52 return articleList;
53 }
54
55 @Override
56 public String toContent() {
57 StringBuilder content = new StringBuilder();
58 content.append(String.format("<ArticleCount>%d</ArticleCount>",
59 articleList.size()));
60 content.append("<Articles>");
61 for (Article article : articleList) {
62 content.append("<item>");
63 content.append(String.format("<Title><![CDATA[%s]]></Title>",
64 article.getTitle() != null ? article.getTitle() : ""));
65 content.append(String.format(
66 "<Description><![CDATA[%s]]></Description>",
67 article.getDesc() != null ? article.getDesc() : ""));
68 content.append(String.format("<Url><![CDATA[%s]]></Url>",
69 article.getUrl() != null ? article.getUrl() : ""));
70 content.append(String.format("<PicUrl><![CDATA[%s]]></PicUrl>",
71 article.getPicUrl() != null ? article.getPicUrl() : ""));
72 content.append("</item>");
73 }
74 content.append("</Articles>");
75 return content.toString();
76 }
77
78 @Override
79 public String getMsgType() {
80 return "news";
81 }
82
83
84
85
86
87
88
89
90
91
92 public static class Article {
93
94
95
96 private String title;
97
98
99
100 private String desc;
101
102
103
104 private String url;
105
106
107
108 private String picUrl;
109
110 public String getTitle() {
111 return title;
112 }
113
114 public void setTitle(String title) {
115 this.title = title;
116 }
117
118 public String getDesc() {
119 return desc;
120 }
121
122 public void setDesc(String desc) {
123 this.desc = desc;
124 }
125
126 public String getUrl() {
127 return url;
128 }
129
130 public void setUrl(String url) {
131 this.url = url;
132 }
133
134 public String getPicUrl() {
135 return picUrl;
136 }
137
138 public void setPicUrl(String picUrl) {
139 this.picUrl = picUrl;
140 }
141
142 public Article() {
143
144 }
145
146 public Article(String title, String desc, String url, String picUrl) {
147 this.title = title;
148 this.desc = desc;
149 this.url = url;
150 this.picUrl = picUrl;
151 }
152
153 @Override
154 public String toString() {
155 return "Article [title=" + title + ", desc=" + desc + ", url="
156 + url + ", picUrl=" + picUrl + "]";
157 }
158 }
159 }