package cn.estsh.i3plus.pojo.aps.annotation;

import cn.estsh.i3plus.pojo.base.enumutil.ApsEnumUtil;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Description :字段元信息注解
 * @Reference :
 * @Author : jason.niu
 * @CreateDate : 2019-09-17
 * @Modify:
 **/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface FieldAnnotation {
    boolean property() default true;
    boolean modify() default true;  // 是否能修改
    boolean display() default true; // 是否需要在界面显示
    int pric() default 2;   // 对于浮点型，界面显示的精度
    boolean mainkey() default false;    // 是否为主键
    String defaultValue() default "";   // 字段的默认值
    boolean popSearch() default false;  // 弹出选择对象时是否显示
    ApsEnumUtil.EDIT_TYPE editType() default ApsEnumUtil.EDIT_TYPE.NONE; // 定义字段的编辑类型
    Class<?> multiEnumClass() default Object.class;  // 多选枚举的类型。
    String typeName() default "";   // 定义字段类型的简单名称，对于多选关联对象时有用。
    String relation() default "";   // 关联字段标识
    boolean notEmpty() default false;   // 是否不允许为空
}
