StandardCompress (FreeMarker 2.3.23 API)
Date: 2015-07-05

freemarker.template.utility

## Class StandardCompress

- java.lang.Object
- - freemarker.template.utility.StandardCompress

- All Implemented Interfaces:
    TemplateModel, TemplateTransformModel

      public class StandardCompress
      extends 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>

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static StandardCompress` | `INSTANCE`

    - ### Fields inherited from interface freemarker.template.TemplateModel

      `NOTHING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StandardCompress()`
    `StandardCompress(int defaultBufferSize)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Writer` | `getWriter(Writer out, 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 Writer getWriter(Writer out,
                                  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`