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

org.zodiac.template.base.TemplateService Maven / Gradle / Ivy

The newest version!
package org.zodiac.template.base;

import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;

/**
 * 提供一个渲染模板的通用接口,通过这个服务。一个特定的模板系统,例如Velocity或JSP,只 需要实现 TemplateEngine接口,并向template
 * service登记自己,就可以被统一的方法来调用。
 *
 */
public interface TemplateService {

    /**
     * 取得所有被登记的模板名后缀。
     * @return 扩展名列表
     */
    String[] getSupportedExtensions();

    /**
     * 取得指定模板名后缀对应的模板引擎。
     * @param extension 扩展名
     * @return 模板引擎
     */
    TemplateEngine getTemplateEngine(String extension);

    /**
     * 此方法代理到相应的模板引擎,并判定模板是否存在。
     * @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;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy