json 绑定多子类
假设存在如下需求:
- 自动创建用户指定的数量的多数据类型的数据
- 用户指定的数量应用于所有数据类型
- 数据类型包括:时间、数值和文本等
- 时间类型可指定具体的时间格式(如yyyy-MM-dd,HH:mm:ss yyyy/MM/dd等)、单位(年、月、日、时、分、秒)、最大最小值以及值间隔等内容
- 数值类型可指定最大最小值和值间隔等
- 文本无需指定特殊字段
根据需求可得到如下pojo:
- 时间
// 时间
public class TimeData {
private final String DEFAULT_FORMAT = "yyyy-MM-dd HH:mm:ss";
private final Unit DEFAULT_UNIT = Unit.DAY;
private final Date DEFAULT_MIN = new Date();
private String unit;
private String format;
private Date min;
private Date max;
private Integer step;
}
// 数值
public class IntAmountData {
private final Integer DEFAULT_MIN = 0;
private final Integer DEFAULT_MAX = 100;
private final Integer DEFAULT_STEP = 1;
private Integer min;
private Integer max;
private Integer step;
}
// 文本
public class StringData {
private final String[] names = {
"梦琪", "忆柳", "之桃", "慕青", "问兰", "尔岚", "元香",
"初夏", "沛菡", "傲珊", "曼文", "乐菱", "痴珊", "恨玉", "惜文", "香寒", "新柔", "语蓉",
"海安", "夜蓉", "涵柏", "水桃", "醉蓝",