freemarker.template.utility
Class NormalizeNewlines

java.lang.Object
  extended by freemarker.template.utility.NormalizeNewlines
All Implemented Interfaces:
TemplateModel, TemplateTransformModel

public class NormalizeNewlines
extends java.lang.Object
implements TemplateTransformModel

Transformer that supports FreeMarker legacy behavior: all newlines appearing within the transformed area will be transformed into the platform's default newline. Unlike the old behavior, however, newlines generated by the data model are also converted. Legacy behavior was to leave newlines in the data model unaltered.

Usage:
From java:

 SimpleHash root = new SimpleHash();

 root.put( "normalizeNewlines", new freemarker.template.utility.NormalizeNewlines() );

 ...
 

From your FreeMarker template:

 <transform normalizeNewlines>
   <html>
   <head>
   ...
   <p>This template has all newlines normalized to the current platform's
   default.</p>
   ...
   </body>
   </html>
 </transform>
 

Version:
$Id: NormalizeNewlines.java,v 1.29 2003/04/11 20:57:32 revusky Exp $

Field Summary
 
Fields inherited from interface freemarker.template.TemplateModel
NOTHING
 
Constructor Summary
NormalizeNewlines()
           
 
Method Summary
 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.
 void transform(java.io.Reader in, java.io.Writer out)
          Performs newline normalization on FreeMarker output.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NormalizeNewlines

public NormalizeNewlines()
Method Detail

getWriter

public java.io.Writer getWriter(java.io.Writer out,
                                java.util.Map args)
Description copied from interface: TemplateTransformModel
Returns a writer that will be used by the engine to feed the transformation input to the transform. Each call to this method must return a new instance of the writer so that the transformation is thread-safe.

Specified by:
getWriter in interface TemplateTransformModel
Parameters:
out - the character stream to which to write the transformed output
args - 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.
Returns:
a writer to which the engine will feed the transformation input, or null if the transform does not support nested content (body). The returned writer can implement the TransformControl interface if it needs advanced control over the evaluation of the transformation body.

transform

public void transform(java.io.Reader in,
                      java.io.Writer out)
               throws java.io.IOException
Performs newline normalization on FreeMarker output.

Parameters:
in - the input to be transformed
out - the destination of the transformation
Throws:
java.io.IOException