freemarker.template.utility
Class StandardCompress

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

public class StandardCompress
extends java.lang.Object
implements TemplateTransformModel

A filter that compresses each sequence of consecutive whitespace to a single line break (if the sequence contains a line break) or a single space. In addition, leading and trailing whitespace is completely removed.

Specify the transform parameter single_line = true to always compress to a single space instead of a line break.

The default buffer size can be overridden by specifying a buffer_size transform parameter (in bytes).

Note: The compress tag is implemented using this filter

Usage:
From java:

 SimpleHash root = new SimpleHash();

 root.put( "standardCompress", new freemarker.template.utility.StandardCompress() );

 ...
 

From your FreeMarker template:

 <transform standardCompress>
   <p>This    paragraph will have
       extraneous

 whitespace removed.</p>
 </transform>
 

Output:

 <p>This paragraph will have
 extraneous
 whitespace removed.</p>
 

Version:
$Id: StandardCompress.java,v 1.14 2004/01/06 17:06:43 szegedia Exp $

Field Summary
static StandardCompress INSTANCE
           
 
Fields inherited from interface freemarker.template.TemplateModel
NOTHING
 
Constructor Summary
StandardCompress()
           
StandardCompress(int defaultBufferSize)
           
 
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final StandardCompress INSTANCE
Constructor Detail

StandardCompress

public StandardCompress()

StandardCompress

public StandardCompress(int defaultBufferSize)
Parameters:
defaultBufferSize - the default amount of characters to buffer
Method Detail

getWriter

public java.io.Writer getWriter(java.io.Writer out,
                                java.util.Map args)
                         throws TemplateModelException
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.
Throws:
TemplateModelException