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

freemarker.ext.util

## Class ModelCache

- java.lang.Object
- - freemarker.ext.util.ModelCache

- Direct Known Subclasses:
    BeansModelCache

      public abstract class ModelCache
      extends Object

  Internally used by various wrapper implementations to implement model caching.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ModelCache()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clearCache()`
    `protected abstract TemplateModel` | `create(Object object)`
    `TemplateModel` | `getInstance(Object object)`
    `boolean` | `getUseCache()`
    `protected abstract boolean` | `isCacheable(Object object)`
    `void` | `setUseCache(boolean useCache)` Sets whether this wrapper caches model instances.

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

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

- - ### Constructor Detail

    - #### ModelCache

          protected ModelCache()

  - ### Method Detail

    - #### setUseCache

          public void setUseCache(boolean useCache)

      Sets whether this wrapper caches model instances. Default is false. When set to true, calling `getInstance(Object)` multiple times for the same object will return the same model.

    - #### getUseCache

          public boolean getUseCache()

      Since:
        2.3.21

    - #### getInstance

          public TemplateModel getInstance(Object object)

    - #### create

          protected abstract TemplateModel create(Object object)

    - #### isCacheable

          protected abstract boolean isCacheable(Object object)

    - #### clearCache

          public void clearCache()