package com.vci.starter.web.annotation; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({java.lang.annotation.ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface VciBtmType { /** * 英文名称 * @return 英文名称 */ String name() default ""; /** * 显示文本 * @return 显示文本 */ String text() default ""; /** * 描述 * @return 描述 */ String description() default ""; /** * 表格名称 * @return 表格名称 */ String tableName() default ""; /** *是否可以手动输入版本 * @return true表示手动输入版本 */ boolean revisionRuleInput() default false; /** * 版本规则 * @return 版本规程 */ String revisionRule() default ""; /** * 版次号规则 * @return 版次号规则 */ VciBtmTypeVersionRule versionRule() default VciBtmTypeVersionRule.NONE; /** * 当是字母和数字的规则的时候,可以设置前缀 * @return 前缀 */ String revisionRulePrefix() default ""; /** * 当是字母和数字的规则的时候,可以设置后缀 * @return 后缀的值 */ String revisionRuleSubfix() default ""; /** * 所属生命周期 * @return 主生命周期 */ String lifeCycle() ; /** * 生命周期的初始的值,这个注解的优先级大于生命周期的起始状态 * @return 初始状态,优先级最高 */ String startStatus() default ""; /** * 备用生命周期 * @return 备用生命周期列表或者空 */ String[] subLifeCycle() default ""; /** * 是否管理密级 * @return true表示需要管理 */ boolean secretAble() default false; /** * 是否兼容以前的平台 * @return true表示兼容,会对默认的属性有不同的处理 */ boolean compatbility() default false; /** * 上级的字段名字 * @return 上级字段 */ String parentField() default ""; /** * 版次版本的枚举 */ public enum VciBtmTypeVersionRule { /** * 从1开始的自然数 */ INTSTART1("int1"), /** * 从0开的自然数 */ INTSTART0("int0"), /** * 不使用版次 */ NONE("none"), /** * 大写字母A开始 */ LETTER("letter"); private String value; /** * 枚举构造函数 * @param value 枚举的值 */ private VciBtmTypeVersionRule(String value) { this.value = value; } /** * 获取枚举的值 * @return 枚举的值 */ public String getValue() { return value; } } }