// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/menu/MenuInfo.java
// public abstract class MenuInfo  extends AbstractToStringBuilder{
//     @JSONField(name = "name")
//     private String name;
// 
//     public MenuInfo() {
//     }
// 
//     public MenuInfo(String name) {
//         this.name = name;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
// }
// 
// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/menu/MenuType.java
// public enum MenuType {
//     CLICK("click"),
//     VIEW("view") {
//         @Override
//         protected SingleMenuInfo buildSingleMenuInfo(SingleMenuInfo menuInfo, String menuUrlOrKey) {
//             menuInfo.setUrl(menuUrlOrKey);
//             return menuInfo;
//         }
//     },
//     SCANCODE_PUSH("scancode_push"),
//     SCANCODE_WAITMSG("scancode_waitmsg"),
//     PIC_SYSPHOTO("pic_sysphoto"),
//     PIC_PHOTO_OR_ALBUM("pic_photo_or_album"),
//     PIC_WEIXIN("pic_weixin"),
//     LOCATION_SELECT("location_select"), ;
// 
//     private String type;
// 
//     private MenuType(String type) {
//         this.type = type;
//     }
// 
//     protected SingleMenuInfo buildSingleMenuInfo(SingleMenuInfo menuInfo, String menuUrlOrKey) {
//         menuInfo.setKey(menuUrlOrKey);
//         return menuInfo;
//     }
// 
//     public SingleMenuInfo buildSingleMenuInfo(String menuName, String menuUrlOrKey) {
//         return buildSingleMenuInfo(new SingleMenuInfo(menuName, type), menuUrlOrKey);
//     }
// 
// }
// 
// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/menu/MultiMenuInfo.java
// public class MultiMenuInfo extends MenuInfo {
//     @JSONField(name = "sub_button")
//     private List<SingleMenuInfo> subMenuInfos;
// 
//     public MultiMenuInfo() {
//     }
// 
//     public MultiMenuInfo(String name, List<SingleMenuInfo> subMenuInfos) {
//         super(name);
//         this.subMenuInfos = subMenuInfos;
//     }
// 
//     public List<SingleMenuInfo> getSubMenuInfos() {
//         return subMenuInfos;
//     }
// 
//     public void setSubMenuInfos(List<SingleMenuInfo> subMenuInfos) {
//         this.subMenuInfos = subMenuInfos;
//     }
// 
// }
// 
// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/menu/SingleMenuInfo.java
// public class SingleMenuInfo extends MenuInfo {
//     private String type;
//     private String url;
//     private String key;
// 
//     public SingleMenuInfo() {
//     }
// 
//     public SingleMenuInfo(String name, String type) {
//         super(name);
//         this.type = type;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         this.url = url;
//     }
// 
//     public String getKey() {
//         return key;
//     }
// 
//     public void setKey(String key) {
//         this.key = key;
//     }
// 
// }


import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
import org.usc.wechat.mp.sdk.vo.menu.Menu;
import org.usc.wechat.mp.sdk.vo.menu.MenuInfo;
import org.usc.wechat.mp.sdk.vo.menu.MenuType;
import org.usc.wechat.mp.sdk.vo.menu.MultiMenuInfo;
import org.usc.wechat.mp.sdk.vo.menu.SingleMenuInfo;
package org.usc.wechat.mp.sdk.util.platform;



/**
 *
 * @author Shunli
 */
public class MenuUtilTest {
    public static void main(String[] args) throws URISyntaxException {
        List<SingleMenuInfo> subMenuInfos = new ArrayList<SingleMenuInfo>();
        subMenuInfos.add(MenuType.VIEW.buildSingleMenuInfo("搜索", "http://www.soso.com/"));
        subMenuInfos.add(MenuType.VIEW.buildSingleMenuInfo("视频", "http://v.qq.com/"));
        subMenuInfos.add(MenuType.CLICK.buildSingleMenuInfo("赞一下我们", "V1001_GOOD"));

// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/menu/MenuInfo.java
// public abstract class MenuInfo  extends AbstractToStringBuilder{
//     @JSONField(name = "name")
//     private String name;
// 
//     public MenuInfo() {
//     }
// 
//     public MenuInfo(String name) {
//         this.name = name;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
// }
// 
// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/menu/MenuType.java
// public enum MenuType {
//     CLICK("click"),
//     VIEW("view") {
//         @Override
//         protected SingleMenuInfo buildSingleMenuInfo(SingleMenuInfo menuInfo, String menuUrlOrKey) {
//             menuInfo.setUrl(menuUrlOrKey);
//             return menuInfo;
//         }
//     },
//     SCANCODE_PUSH("scancode_push"),
//     SCANCODE_WAITMSG("scancode_waitmsg"),
//     PIC_SYSPHOTO("pic_sysphoto"),
//     PIC_PHOTO_OR_ALBUM("pic_photo_or_album"),
//     PIC_WEIXIN("pic_weixin"),
//     LOCATION_SELECT("location_select"), ;
// 
//     private String type;
// 
//     private MenuType(String type) {
//         this.type = type;
//     }
// 
//     protected SingleMenuInfo buildSingleMenuInfo(SingleMenuInfo menuInfo, String menuUrlOrKey) {
//         menuInfo.setKey(menuUrlOrKey);
//         return menuInfo;
//     }
// 
//     public SingleMenuInfo buildSingleMenuInfo(String menuName, String menuUrlOrKey) {
//         return buildSingleMenuInfo(new SingleMenuInfo(menuName, type), menuUrlOrKey);
//     }
// 
// }
// 
// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/menu/MultiMenuInfo.java
// public class MultiMenuInfo extends MenuInfo {
//     @JSONField(name = "sub_button")
//     private List<SingleMenuInfo> subMenuInfos;
// 
//     public MultiMenuInfo() {
//     }
// 
//     public MultiMenuInfo(String name, List<SingleMenuInfo> subMenuInfos) {
//         super(name);
//         this.subMenuInfos = subMenuInfos;
//     }
// 
//     public List<SingleMenuInfo> getSubMenuInfos() {
//         return subMenuInfos;
//     }
// 
//     public void setSubMenuInfos(List<SingleMenuInfo> subMenuInfos) {
//         this.subMenuInfos = subMenuInfos;
//     }
// 
// }
// 
// Path: wechat-mp-sdk/src/main/java/org/usc/wechat/mp/sdk/vo/menu/SingleMenuInfo.java
// public class SingleMenuInfo extends MenuInfo {
//     private String type;
//     private String url;
//     private String key;
// 
//     public SingleMenuInfo() {
//     }
// 
//     public SingleMenuInfo(String name, String type) {
//         super(name);
//         this.type = type;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         this.url = url;
//     }
// 
//     public String getKey() {
//         return key;
//     }
// 
//     public void setKey(String key) {
//         this.key = key;
//     }
// 
// }


// Path: wechat-mp-sdk/src/test/java/org/usc/wechat/mp/sdk/util/platform/MenuUtilTest.java
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
import org.usc.wechat.mp.sdk.vo.menu.Menu;
import org.usc.wechat.mp.sdk.vo.menu.MenuInfo;
import org.usc.wechat.mp.sdk.vo.menu.MenuType;
import org.usc.wechat.mp.sdk.vo.menu.MultiMenuInfo;
import org.usc.wechat.mp.sdk.vo.menu.SingleMenuInfo;

package org.usc.wechat.mp.sdk.util.platform;



/**
 *
 * @author Shunli
 */
public class MenuUtilTest {
    public static void main(String[] args) throws URISyntaxException {
        List<SingleMenuInfo> subMenuInfos = new ArrayList<SingleMenuInfo>();
        subMenuInfos.add(MenuType.VIEW.buildSingleMenuInfo("搜索", "http://www.soso.com/"));
        subMenuInfos.add(MenuType.VIEW.buildSingleMenuInfo("视频", "http://v.qq.com/"));
        subMenuInfos.add(MenuType.CLICK.buildSingleMenuInfo("赞一下我们", "V1001_GOOD"));

        List<MenuInfo> menuInfos = new ArrayList<MenuInfo>();