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

freemarker.template.utility

## Class CaptureOutput

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

- All Implemented Interfaces:
    TemplateModel, TemplateTransformModel

  Deprecated.
  Use block-assignments instead, like `<assign x>...</assign>`.

      public class CaptureOutput
      extends Object
      implements TemplateTransformModel

  A transform that captures the output of a block of FTL code and stores that in a variable.

  As this transform is initially present in the shared variable set, you can always access it from the templates:

       <@capture_output var="captured">
         ...
       </@capture_output>

  And later in the template you can use the captured output:

  ${captured}

  This transform requires one of three parameters: `var`, `local`, or `global`. Each of them specifies the name of the variable that stores the captured output, but the first creates a variable in a name-space (as <#assign>), the second creates a macro-local variable (as <#local>), and the last creates a global variable (as <#global>).

  In the case of an assignment within a namespace, there is an optional parameter `namespace` that indicates in which namespace to do the assignment. if this is omitted, the current namespace is used, and this will be, by far, the most common usage pattern.

- - ### Field Summary

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

      `NOTHING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CaptureOutput()` Deprecated.

  - ### Method Summary

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

- - ### Constructor Detail

    - #### CaptureOutput

          public CaptureOutput()

      Deprecated.

  - ### Method Detail

    - #### getWriter

          public Writer getWriter(Writer out,
                                  Map args)
                           throws TemplateModelException

      Deprecated.
      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`