package com.uas.report.model;

/**
 * 导出类型
 *
 * @author sunyj
 * @since 2017年10月24日 下午4:44:54
 */
public enum ExportType {

	/**
	 * pdf
	 */
	PDF("pdf"),

	/**
	 * excel
	 */
	XLS("xls"),

	/**
	 * 纯数据 excel
	 */
	XLS_DATA("xls"),

	/**
	 * excel
	 */
	XLSX("xlsx"),

	/**
	 * 纯数据 excel
	 */
	XLSX_DATA("xlsx"),

	/**
	 * word
	 */
	DOC("doc"),

	/**
	 * text
	 */
	TXT("txt");

	private String qualifier;

	public String getQualifier() {
		return qualifier;
	}

	ExportType(String qualifier) {
		this.qualifier = qualifier;
	}

	public static ExportType getType(String type) {
		try {
			return ExportType.valueOf(type.toUpperCase());
		} catch (IllegalArgumentException e) {
			return null;
		}
	}

	/**
	 * 获取导出类型
	 *
	 * @param type 导出类型
	 * @return 获取的导出类型
	 * @throws IllegalArgumentException
	 *             失败，抛出异常
	 */
	public static ExportType checkType(String type) throws IllegalArgumentException {
		ExportType exportType = getType(type);
		if (exportType == null) {
			throw new IllegalArgumentException("不支持该导出类型：" + type);
		}
		return exportType;
	}
}
