// Path: src/com/floreysoft/jmte/ProcessListener.java
// public interface ProcessListener {
// 	public static enum Action {
// 		/**
// 		 * Expression being executed.
// 		 */
// 		EVAL,
// 		/**
// 		 * Expression being skipped.
// 		 */
// 		SKIP,
// 		/**
// 		 * End of control structure.
// 		 */
// 		END
// 	}
// 
// 	/**
// 	 * Reports a step executed by the engine
// 	 * 
// 	 * @param context
// 	 *            current context during template evaluation
// 	 * @param token
// 	 *            the token that is handled
// 	 * @param action
// 	 *            the action that is executed on the action
// 	 */
// 	void log(TemplateContext context, Token token, Action action);
// }


import java.util.Locale;
import java.util.Map;
import java.util.Set;
import com.floreysoft.jmte.ModelAdaptor;
import com.floreysoft.jmte.ProcessListener;

package com.floreysoft.jmte.template;



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,

// Path: src/com/floreysoft/jmte/ProcessListener.java
// public interface ProcessListener {
// 	public static enum Action {
// 		/**
// 		 * Expression being executed.
// 		 */
// 		EVAL,
// 		/**
// 		 * Expression being skipped.
// 		 */
// 		SKIP,
// 		/**
// 		 * End of control structure.
// 		 */
// 		END
// 	}
// 
// 	/**
// 	 * Reports a step executed by the engine
// 	 * 
// 	 * @param context
// 	 *            current context during template evaluation
// 	 * @param token
// 	 *            the token that is handled
// 	 * @param action
// 	 *            the action that is executed on the action
// 	 */
// 	void log(TemplateContext context, Token token, Action action);
// }


// Path: src/com/floreysoft/jmte/template/Template.java
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import com.floreysoft.jmte.ModelAdaptor;
import com.floreysoft.jmte.ProcessListener;

package com.floreysoft.jmte.template;



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);
