package com.huatek.busi.common.annotation;

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

/**
 * @ClassName: ExcelAnnotation
 * @FullClassPath: com.busi.back.common.annotation.ExcelAnnotation
 * @Description: execl导入导出注解
 * @author: Arno
 * @date: Nov 9, 2017 9:38:56 AM
 * @version: 1.0
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelAnnotation {

	/**
	 * excel导出时标题显示的名字，如果没有设置Annotation属性，将不会被导出和导入
	 */
	String exportName();

	/**
	 * 导出字段名（默认调用当前字段的“get”方法，如指定导出字段为对象，请填写“对象名.对象属性”，例：“area.name”、“office.name”）
	 */
	String value() default "";

	/**
	 * 字段类型（0：导出导入；1：仅导出；2：仅导入）
	 */
	int type() default 0;

	/**
	 * 导出字段对齐方式（0：自动；1：靠左；2：居中；3：靠右）
	 */
	int align() default 0;

	/**
	 * 导出字段字段排序（升序）
	 */
	int sort() default 0;

	/**
	 * 如果是字典类型，请设置字典的type值
	 */
	String dictType() default "";

	/**
	 * 反射类型
	 */
	Class<?> fieldType() default Class.class;

	/**
	 * 字段归属组（根据分组导出导入）
	 */
	int[] groups() default {};
}
