package com.floreysoft.jmte.template; import java.util.Locale; import java.util.Map; import java.util.Set; import com.floreysoft.jmte.ModelAdaptor; import com.floreysoft.jmte.ProcessListener; public interface Template { /** * Transforms a template into an expanded output using the given model. * * @param model * the model used to evaluate expressions inside the template * @param locale * the locale used to render this template * @param modelAdaptor * adaptor used for this transformation to look up values from * model * @return the expanded output */ public String transform(Map<String, Object> model, Locale locale, ModelAdaptor modelAdaptor, ProcessListener processListener); /** * Transforms a template into an expanded output using the given model. * * @param model * the model used to evaluate expressions inside the template * @param locale * the locale used to render this template * @return the expanded output */ public String transform(Map<String, Object> model, Locale locale, ProcessListener processListener); /** * Transforms a template into an expanded output using the given model. * * @param model * the model used to evaluate expressions inside the template * @param locale * the locale used to render this template * @return the expanded output */ public String transform(Map<String, Object> model, Locale locale); public Set<String> getUsedVariables(); }