All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.foxinmy.weixin4j.tuple.News Maven / Gradle / Ivy

There is a newer version: 1.10.2
Show newest version
package com.foxinmy.weixin4j.tuple;

import java.util.LinkedList;
import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;

import com.alibaba.fastjson.annotation.JSONField;

/**
 * 图文对象
 * 

* 可用于「客服消息」 *

* * @className News * @author jinyu([email protected]) * @date 2014年11月21日 * @since JDK 1.6 * @see */ public class News implements NotifyTuple { private static final long serialVersionUID = 3348756809039388415L; @Override public String getMessageType() { return "news"; } /** * 允许最多的图文列表数 */ private static final int MAX_ARTICLE_COUNT = 8; /** * 图文列表 * * @see com.foxinmy.weixin4j.tuple.Article */ @JSONField(name = "articles") @XmlElement(name = "Articles") private LinkedList
articles; public News() { this.articles = new LinkedList
(); } /** * * @param title * 标题 * @param desc * 描述 * @param picUrl * 图片链接 * @param url * 跳转URL */ public News addArticle(String title, String desc, String picUrl, String url) { return addArticle(new Article(title, desc, picUrl, url)); } public News addArticle(Article... articles) { for (Article article : articles) { this.articles.add(article); } return this; } public News addFirstArticle(Article article) { articles.addFirst(article); return this; } public void addLastArticle(Article article) { articles.addLast(article); } public News removeFirstArticle() { articles.removeFirst(); return this; } public News removeLastArticle() { articles.removeLast(); return this; } @JSONField(serialize = false) @XmlTransient public boolean isMaxCount() { return articles.size() == MAX_ARTICLE_COUNT; } public List
getArticles() { if (articles.size() > MAX_ARTICLE_COUNT) { return articles.subList(0, MAX_ARTICLE_COUNT); } else { return articles; } } @JSONField(serialize = false) @XmlTransient public List
getFullArticles() { return articles; } @Override public String toString() { StringBuilder sb = new StringBuilder(); for (Article article : articles) { sb.append("{title=").append(article.getTitle()); sb.append(" ,description=").append(article.getDesc()); sb.append(" ,picUrl=").append(article.getPicUrl()); sb.append(" ,url=").append(article.getUrl()).append("}"); } return sb.toString(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy