// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/factory/ReplyEnumFactory.java
// public enum ReplyEnumFactory {
//     TEXT("text", new TextReplyBuilder()),
//     NEWS("news", new NewsReplyBuilder()),
//     MUSIC("music", new MusicReplyBuilder()),
//     IMAGE("image", new ImageReplyBuilder()),
//     VOICE("voice", new VoiceReplyBuilder()),
//     VIDEO("video", new VideoReplyBuilder());
// 
//     private String replyType;
//     private ReplyBuilder replyBuilder;
// 
//     private ReplyEnumFactory(String replyType, ReplyBuilder replyBuilder) {
//         this.replyType = replyType;
//         this.replyBuilder = replyBuilder;
//     }
// 
//     public String getReplyType() {
//         return replyType;
//     }
// 
//     public Reply buildReply(List<ReplyDetail> replyDetails) {
//         if (replyDetails == null || replyDetails.isEmpty()) {
//             return null;
//         }
// 
//         return replyBuilder.buildReply(replyDetails);
//     }
// 
// }
// 
// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/message/custom/detail/ArticlesCustomMessageDetail.java
// public class ArticlesCustomMessageDetail extends AbstractToStringBuilder {
//     @JSONField(name = "articles")
//     private List<ArticleCustomMessageDetail> articles;
// 
//     public ArticlesCustomMessageDetail(List<ArticleCustomMessageDetail> articles) {
//         this.articles = articles;
//     }
// 
//     public List<ArticleCustomMessageDetail> getArticles() {
//         return articles;
//     }
// 
//     public void setArticles(List<ArticleCustomMessageDetail> articles) {
//         this.articles = articles;
//     }
// 
// }


import org.usc.wechat.mp.sdk.factory.ReplyEnumFactory;
import org.usc.wechat.mp.sdk.vo.message.custom.detail.ArticlesCustomMessageDetail;
import com.alibaba.fastjson.annotation.JSONField;
package org.usc.wechat.mp.sdk.vo.message.custom;



/**
 *
 * @author Shunli
 */
public class ArticleCustomMessage extends CustomMessage {
    @JSONField(name = "news")
    private ArticlesCustomMessageDetail news;

    {
// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/factory/ReplyEnumFactory.java
// public enum ReplyEnumFactory {
//     TEXT("text", new TextReplyBuilder()),
//     NEWS("news", new NewsReplyBuilder()),
//     MUSIC("music", new MusicReplyBuilder()),
//     IMAGE("image", new ImageReplyBuilder()),
//     VOICE("voice", new VoiceReplyBuilder()),
//     VIDEO("video", new VideoReplyBuilder());
// 
//     private String replyType;
//     private ReplyBuilder replyBuilder;
// 
//     private ReplyEnumFactory(String replyType, ReplyBuilder replyBuilder) {
//         this.replyType = replyType;
//         this.replyBuilder = replyBuilder;
//     }
// 
//     public String getReplyType() {
//         return replyType;
//     }
// 
//     public Reply buildReply(List<ReplyDetail> replyDetails) {
//         if (replyDetails == null || replyDetails.isEmpty()) {
//             return null;
//         }
// 
//         return replyBuilder.buildReply(replyDetails);
//     }
// 
// }
// 
// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/message/custom/detail/ArticlesCustomMessageDetail.java
// public class ArticlesCustomMessageDetail extends AbstractToStringBuilder {
//     @JSONField(name = "articles")
//     private List<ArticleCustomMessageDetail> articles;
// 
//     public ArticlesCustomMessageDetail(List<ArticleCustomMessageDetail> articles) {
//         this.articles = articles;
//     }
// 
//     public List<ArticleCustomMessageDetail> getArticles() {
//         return articles;
//     }
// 
//     public void setArticles(List<ArticleCustomMessageDetail> articles) {
//         this.articles = articles;
//     }
// 
// }


// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/message/custom/ArticleCustomMessage.java
import org.usc.wechat.mp.sdk.factory.ReplyEnumFactory;
import org.usc.wechat.mp.sdk.vo.message.custom.detail.ArticlesCustomMessageDetail;
import com.alibaba.fastjson.annotation.JSONField;

package org.usc.wechat.mp.sdk.vo.message.custom;



/**
 *
 * @author Shunli
 */
public class ArticleCustomMessage extends CustomMessage {
    @JSONField(name = "news")
    private ArticlesCustomMessageDetail news;

    {
        super.setMsgType(ReplyEnumFactory.NEWS.getReplyType());