public interface TemplateTransformModel extends TemplateModel
TemplateDirectiveModel
instead. This interface will certainly be deprecated in FreeMarker 2.4.NOTHING| Modifier and Type | Method and Description |
|---|---|
java.io.Writer |
getWriter(java.io.Writer out,
java.util.Map args)
Returns a writer that will be used by the engine to feed the transformation input to the transform.
|
java.io.Writer getWriter(java.io.Writer out,
java.util.Map args)
throws TemplateModelException,
java.io.IOException
This method should not throw RuntimeException, nor IOException that wasn't caused by writing to
the output. Such exceptions should be catched inside the method and wrapped inside a
TemplateModelException. (Note that setting Configuration.setWrapUncheckedExceptions(boolean) to
true can mitigate the negative effects of implementations that throw RuntimeException-s.)
out - the character stream to which to write the transformed outputargs - the arguments (if any) passed to the transformation as a map of key/value pairs where the keys are
strings and the arguments are TemplateModel instances. This is never null. (If you
need to convert the template models to POJOs, you can use the utility methods in the
DeepUnwrap class. Though it's recommended to work with TemplateModel-s directly.)Writer to which the engine will write the content to transform, or null if the
transform does not support nested content (body). The returned Writer may implements the
TransformControl interface if it needs advanced control over the evaluation of the nested
content. FreeMarker will call Writer.close() after the transform end-tag. Writer.close()
must not close the Writer received as the out parameter (so if you are using a
FilterWriter, you must override FilterWriter.close(), as by default that closes the
wrapped Writer). Since 2.3.27 its also allowed to return the out writer as is, in which
case it won't be closed.TemplateModelException - If any problem occurs that's not an IOException during writing the template output.java.io.IOException - When writing to out (the parameter) fails. Other IOException-s should be catched in
this method and wrapped into TemplateModelException.