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

freemarker.template.utility

## Class OptimizerUtil

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

-     public class OptimizerUtil
      extends Object

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static List` | `optimizeListStorage(List list)`
    `static Number` | `optimizeNumberRepresentation(Number number)` This is needed to reverse the extreme conversions in arithmetic operations so that numbers can be meaningfully used with models that don't know what to do with a BigDecimal.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### optimizeListStorage

          public static List optimizeListStorage(List list)

    - #### optimizeNumberRepresentation

          public static Number optimizeNumberRepresentation(Number number)

      This is needed to reverse the extreme conversions in arithmetic operations so that numbers can be meaningfully used with models that don't know what to do with a BigDecimal. Of course, this will make impossible for these models (i.e. Jython) to receive a BigDecimal even if it was originally placed as such in the data model. However, since arithmetic operations aggressively erase the information regarding the original number type, we have no other choice to ensure expected operation in majority of cases.