基础字段类型
关于 支持类型
和 默认推断类型
下文的 支持类型
, 是值其可支持的类型范围, 而 默认推断类型
是指为特殊声明类型的情况下, 这些 Java 类型会被推断为当前类型.
以 日期时间 为例, 其 支持类型
为 java.util.Date
, java.time.LocalDateTime
, 而 默认推断类型
为: java.time.LocalDateTime
.
即如果不通过 @Field(type=?)
的方式声明的情况下, 字段类型为 java.time.LocalDateTime
会自动推断为 DateTime
.
但如果字段类型为 java.util.Date
, 且为未声明 @Field(type=?)
的情况下, 则会自动推断为 Date
, 因为 日期 类型的默认推断类型中包含了 java.util.Date
.
布尔(Boolean)
- 支持类型:
boolean
,java.lang.Boolean
- 默认推断类型:
boolean
,java.lang.Boolean
展示内容配置
默认展示位开关类型组件, 可通过 @BooleanDisplay
注解声明 True 和 False 的显示内容, 例如:
@BooleanDisplay(trueLabel = "启用", falseLabel = "禁用")
private Boolean enabled;
文本(TEXT)
- 字段类型:
TEXT
- 支持类型:
java.lang.String
,java.lang.CharSequence
- 默认推断类型:
java.lang.String
,java.lang.CharSequence
常见的文本类型, 用于输入各类文本类型字段.
多行文本(TEXTAREA)
- 字段类型:
TEXTAREA
- 支持类型:
java.lang.String
,java.lang.CharSequence
- 默认推断类型: 无, 需要声明
@Field(type=ValueType.TEXTAREA)
多行文本类型, 可用于简单的详情描述等字段.
暂不支持富文本编辑器, 后续考虑增加, 但是也会是独立的字段类型.
数字(DIGIT)
- 字段类型:
DIGIT
- 支持类型:
byte
,short
,int
,long
,float
,double
,? extends java.lang.Number
- 默认推断类型:
byte
,short
,int
,long
,float
,double
,? extends java.lang.Number
常见的数字类型, 包含了整数和浮点数.
金额(MONEY)
- 字段类型:
MONEY
- 支持类型:
byte
,short
,int
,long
,float
,double
,? extends java.lang.Number
- 默认推断类型: 无, 需要声明
@Field(type=ValueType.MONEY)
金额类型字段, 整体行为跟数字类型基本一致, 主要差异是会显式金额符号
日期(DATE)
- 字段类型:
DATE
- 支持类型:
java.util.Date
,java.time.LocalDate
- 默认推断类型:
java.util.Date
,java.time.LocalDate
日期类型, 仅记录年月日的日期, 如果用 java.util.Date
类型接收, 则默认是当天的 0 点.
日期时间(DATE_TIME)
- 字段类型:
DATE_TIME
- 支持类型:
java.util.Date
,java.time.LocalDateTime
- 默认推断类型:
java.time.LocalDateTime
日期时间类型, 包含了日期与时间.
时间(TIME)
- 字段类型:
TIME
- 支持类型:
java.time.LocalTime
,java.lang.String
,java.lang.CharSequence
- 默认推断类型:
java.time.LocalTime
时间类型, 不包含日期仅有时间, 例如 16:30:00
, 如果是 String
类型接收, 则默认格式是 HH:mm:ss
.
日期-周(DATE_WEEK)
- 字段类型:
DATE_WEEK
- 支持类型:
java.lang.String
- 默认推断类型: 无, 需要声明
@Field(type=ValueType.DATE_WEEK)
日期类型的周选择器, 即以周为单位的选择, 通过字符串传递, 默认格式为 YYYY-WW
, 采用 IsoWeekNum, 遵循 ISO8601 标准.
比如 2023 年第 5 周
, 则 value 为"2023-05"
.
日期-月(DATE_MONTH)
- 字段类型:
DATE_MONTH
- 支持 Java 类型:
java.lang.String
- 默认推断类型: 无, 需要声明
@Field(type=ValueType.DATE_MONTH)
日期类型的月选择器, 即以月为单位的选择, 通过字符串传递, 默认格式为 YYYY-MM
.
比如 2023 年 3 月
, 则 value 为"2023-03"
.
日期-季度(DATE_QUARTER)
- 字段类型:
DATE_QUARTER
- 支持 Java 类型:
java.lang.String
- 默认推断类型: 无, 需要声明
@Field(type=ValueType.DATE_QUARTER)
日期类型的季度选择器, 即以季度为单位的选择, 通过字符串传递, 默认格式为 YYYY-Q
.
比如 2023 年第二季度
, 则 value 为"2023-Q2"
.
日期-年度(DATE_YEAR)
- 字段类型:
DATE_YEAR
- 支持 Java 类型:
java.lang.String
- 默认推断类型: 无, 需要声明
@Field(type=ValueType.DATE_YEAR)
日期类型的年选择器, 即以年为单位的选择, 通过字符串传递, 默认格式为 YYYY
.
比如 2023 年
, 则 value 为"2023"
.