freemarker.template

## Interface TemplateHashModelEx2

All Superinterfaces:
  TemplateHashModel, TemplateHashModelEx, TemplateModel

All Known Implementing Classes:
  AllHttpScopesHashModel, DefaultMapAdapter, Environment.Namespace, SimpleHash, SimpleMapModel

    public interface TemplateHashModelEx2
    extends TemplateHashModelEx

Adds key-value pair listing capability to `TemplateHashModelEx`. While in many cases that can also be achieved with `TemplateHashModelEx.keys()` and then `TemplateHashModel.get(String)`, that has some problems. One is that `TemplateHashModel.get(String)` only accepts string keys, while `TemplateHashModelEx.keys()` can return non-string keys too. The other is that calling `TemplateHashModelEx.keys()` and then `TemplateHashModel.get(String)` for each key can be slower than listing the key-value pairs in one go.

Since:
  2.3.25

### Nested Class Summary

Nested Classes
`static interface` `TemplateHashModelEx2.KeyValuePair` A key-value pair in a hash; used for `TemplateHashModelEx2.KeyValuePairIterator`.
`static interface` `TemplateHashModelEx2.KeyValuePairIterator` Iterates over the key-value pairs in a hash.

### Field Summary

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

`NOTHING`

### Method Summary

All Methods Instance Methods Abstract Methods
`TemplateHashModelEx2.KeyValuePairIterator` `keyValuePairIterator()`

### Methods inherited from interface freemarker.template.TemplateHashModelEx

`keys, size, values`

### Methods inherited from interface freemarker.template.TemplateHashModel

`get, isEmpty`

### Method Detail

#### keyValuePairIterator

    TemplateHashModelEx2.KeyValuePairIterator keyValuePairIterator()
                                                            throws TemplateModelException

Returns:
  The iterator that walks through the key-value pairs in the hash. Not `null`.
Throws:
  `TemplateModelException`