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