public class EachHelper extends BasicSectionHelper
The param could be Iterable
, array, Iterator
,
Spliterator
and Stream
. If any of the params is
Iterator
, Spliterator
or Stream
the iteration
metadata are not provided. Null values are treated as empty objects.
{{#each items}} {{name}} {{/each}}
It's possible to apply a function to each element. The function must be an
instance of Function
or a string referencing a built-in function. If
the result does not equal to SKIP_RESULT
it's used instead
of the original element. If the result equals to
SKIP_RESULT
the element is skipped. This might be useful
to filter out unnecessary elements or to wrap/transform elements.
{{#each items apply=myFunction}} {{name}} {{/each}}
There are some built-in functions that can be specified using string literals:
Checker.isFalsy(Object)
){{#each items apply="skipUnless:active"}} Inactive items are skipped {{/each}} {{#each items apply="skipIf:name.isEmpty"}} Items with null or empty names are skipped {{/each}} {{#each items apply="map:name"}} Iterate over names {{/each}}
It's also possible to supply an alias to access the value of the current iteration:
{{#each items as='item'}}{{item.name}}{{/each}}
This helper could be used to iterate over multiple objects:
{{! First iterate over list1 and then iterate over list2}} {{#each list1 list2}} {{name}} {{/each}}
By default, the parameters are analyzed and iteration metadata are available. In some cases, it could be useful to omit the analysis and iteration metadata generation:
{{#each items omitMeta=true}}{{this}}{{/each}}
Function
Modifier and Type | Field and Description |
---|---|
static String |
SKIP_RESULT |
SECTION_TYPES
HELPER_TAG_TYPES
configuration
Constructor and Description |
---|
EachHelper() |
Modifier and Type | Method and Description |
---|---|
void |
execute(Options options)
Execute the helper.
|
protected Set<String> |
getSupportedHashKeys() |
void |
init()
Can be overridden so that there's no need to call
super.init(Configuration) . |
protected int |
numberOfRequiredParameters() |
allowedTagTypes
getRequiredHashKeys, numberOfRequiredHashEntries, validate
append, convertAndAppend, convertValue, isSection, isUnescapeVariable, isVariable
checkNotInitialized, init
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getConfigurationKeys, init
public static final String SKIP_RESULT
public void init()
AbstractConfigurationAware
super.init(Configuration)
.init
in class AbstractHelper
public void execute(Options options)
Helper
protected int numberOfRequiredParameters()
numberOfRequiredParameters
in class BasicHelper
protected Set<String> getSupportedHashKeys()
getSupportedHashKeys
in class BasicHelper
*
to
allow any hash keysCopyright © 2017. All rights reserved.