package com.uas.report.model;

/**
 * 打印类型
 * 
 * @author sunyj
 * @since 2017年10月24日 下午4:44:54
 */
public enum PrintType {

	/**
	 * 预览
	 */
	PREVIEW,

	/**
	 * 打印
	 */
	PRINT,

	/**
	 * 下载 pdf
	 */
	PDF,

	/**
	 * 下载纯数据 excel
	 */
	EXCEL,

	/**
	 * 下载 ord
	 */
	WORD,

	/**
	 * 下载 text
	 */
	TEXT;

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

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