org.zodiac.template.base.TemplateEngine Maven / Gradle / Ivy
The newest version!
package org.zodiac.template.base;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;
/**
* Template引擎的服务。例如:Velocity、JSP等。
*
*/
public interface TemplateEngine {
boolean isEnabled();
/**
* 取得默认的模板名后缀列表。
* 当TemplateService
没有指定到当前engine的mapping时,将取得本方法所返回的后缀名列表。
*
* @return 扩展名列表
*/
String[] getDefaultExtensions();
/**
* 判定模板是否存在。
*
* @param templateName 模板名称
* @return 是否存在
*/
boolean exists(String templateName);
/**
* 渲染模板,并以字符串的形式取得渲染的结果。
*
* @param templateName 模板名称
* @param context 上下文
* @return 内容
* @throws TemplateException TemplateException
* @throws IOException IOException
*/
String getText(String templateName, TemplateContext context) throws TemplateException, IOException;
/**
* 渲染模板,并将渲染的结果送到字节输出流中。
*
* @param templateName 模板名称
* @param context 上下文
* @param ostream 输出流
* @throws TemplateException TemplateException
* @throws IOException IOException
*/
void writeTo(String templateName, TemplateContext context, OutputStream ostream)
throws TemplateException, IOException;
/**
* 渲染模板,并将渲染的结果送到字符输出流中。
*
* @param templateName 模板名称
* @param context 上下文
* @param writer 输出流
* @throws TemplateException TemplateException
* @throws IOException IOException
*/
void writeTo(String templateName, TemplateContext context, Writer writer) throws TemplateException, IOException;
}