All Downloads are FREE. Search and download functionalities are using the official Maven repository.

coo.mvc.config.AbstractFreeMarkerSettings Maven / Gradle / Ivy

package coo.mvc.config;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * FreeMarker设置抽象类。
 */
public abstract class AbstractFreeMarkerSettings implements
		Comparable {
	/** 加载序号 */
	private Integer order = 0;
	/** 枚举包列表 */
	private List enumPackages = new ArrayList();
	/** 静态类列表 */
	private List> staticClasses = new ArrayList>();
	/** 模版路径列表 */
	private List templatePaths = new ArrayList();
	/** 自动包含文件列表 */
	private List autoIncludes = new ArrayList();
	/** 自动导入宏列表 */
	private Map autoImports = new HashMap();
	/** 全局组件变量列表 */
	private Map globalBeans = new HashMap();

	/**
	 * 添加枚举包名。
	 * 
	 * @param enumPackage
	 *            枚举包名
	 */
	public void addEnumPackage(String enumPackage) {
		enumPackages.add(enumPackage);
	}

	/**
	 * 添加静态类名。
	 * 
	 * @param staticClass
	 *            静态类名
	 */
	public void addStaticClass(Class staticClass) {
		staticClasses.add(staticClass);
	}

	/**
	 * 添加模版路径。
	 * 
	 * @param templatePath
	 *            模版路径
	 */
	public void addTemplatePath(String templatePath) {
		templatePaths.add(templatePath);
	}

	/**
	 * 添加自动包含文件。
	 * 
	 * @param autoInclude
	 *            自动包含文件
	 */
	public void addAutoInclude(String autoInclude) {
		autoIncludes.add(autoInclude);
	}

	/**
	 * 添加自动导入宏。
	 * 
	 * @param alias
	 *            宏别名
	 * @param templateName
	 *            模版名
	 */
	public void addAutoImport(String alias, String templateName) {
		autoImports.put(alias, templateName);
	}

	/**
	 * 添加全局组件变量。
	 * 
	 * @param varName
	 *            变量名称
	 * @param beanName
	 *            组件名称
	 */
	public void addGlobalBean(String varName, String beanName) {
		globalBeans.put(varName, beanName);
	}

	@Override
	public int compareTo(AbstractFreeMarkerSettings other) {
		return other.getOrder() - order;
	}

	public Integer getOrder() {
		return order;
	}

	public void setOrder(Integer order) {
		this.order = order;
	}

	public List getEnumPackages() {
		return enumPackages;
	}

	public List> getStaticClasses() {
		return staticClasses;
	}

	public List getTemplatePaths() {
		return templatePaths;
	}

	public List getAutoIncludes() {
		return autoIncludes;
	}

	public Map getAutoImports() {
		return autoImports;
	}

	public Map getGlobalBeans() {
		return globalBeans;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy