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

org.tinygroup.tinyscript.template.TemplateEngineCustomProcessor Maven / Gradle / Ivy

The newest version!
package org.tinygroup.tinyscript.template;

import org.tinygroup.template.TemplateContext;
import org.tinygroup.template.TemplateEngine;
import org.tinygroup.template.TemplateException;
import org.tinygroup.template.TemplateRender;
import org.tinygroup.template.impl.TemplateContextDefault;
import org.tinygroup.template.impl.TemplateRenderDefault;
import org.tinygroup.tinyscript.ScriptContext;
import org.tinygroup.tinyscript.ScriptException;
import org.tinygroup.tinyscript.interpret.ResourceBundleUtil;
import org.tinygroup.tinyscript.interpret.custom.CustomProcessor;

/**
 * 模板引擎规则处理器
 * 
 * @author yancheng11334
 *
 */
public class TemplateEngineCustomProcessor implements CustomProcessor {

	public boolean isMatch(Object obj) {
		return obj instanceof TemplateEngine;
	}

	public Object executeRule(Object customObj, String customRule, ScriptContext context) throws ScriptException {
		TemplateEngine engine = (TemplateEngine) customObj;
		TemplateRender render = new TemplateRenderDefault();
		render.setTemplateEngine(engine);

		TemplateContext templateContext = new TemplateContextDefault();
		templateContext.setParent(context);
		try {
			return render.renderTemplateContent(customRule, templateContext);
		} catch (TemplateException e) {
			throw new ScriptException(
					ResourceBundleUtil.getResourceMessage("template", "template.render.error", customRule), e);
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy