ExcelCell.java
2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package com.framework.util.excel;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.apache.commons.lang3.StringUtils;
/**
* The <code>ExcelCell</code><br>
* 数值型的栏位只能使用Double
*
* @see {@link com.sargeraswang.util.ExcelUtil.ExcelUtil#exportExcel}
* @author sargeras.wang
* @version 1.0, Created at 2013年9月14日
* @version 1.1, Updated at 2013年10月20日 ,添加了专用于验证的子注解:Valid
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ExcelCell {
/**
* 顺序 default 100
*
* @return
*/
public int index();
/**
* 当值为null时要显示的值 default StringUtils.EMPTY
*
* @return
*/
public String defaultValue() default StringUtils.EMPTY;
/**
* 用于验证
*
* @return
*/
public Valid valid() default @Valid();
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Valid {
/**
* 必须与in中String相符,目前仅支持String类型
*
* @return e.g. {"abc","123"}
*/
public String[] in() default {};
/**
* 是否允许为空,用于验证数据 default true
*
* @return
*/
public boolean allowNull() default true;
/**
* Apply a "greater than" constraint to the named property , equivalent ">"
*
* @return
*/
public double gt() default Double.NaN;
/**
* Apply a "less than" constraint to the named property , equivalent "<"
* @return
*/
public double lt() default Double.NaN;
/**
* Apply a "greater than or equal" constraint to the named property , equivalent ">="
*
* @return
*/
public double ge() default Double.NaN;
/**
* Apply a "less than or equal" constraint to the named property , equivalent "<="
*
* @return
*/
public double le() default Double.NaN;
}
}