You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by "Ondra Žižka (JIRA)" <ji...@apache.org> on 2017/09/23 05:15:00 UTC

[jira] [Created] (FREEMARKER-73) ?seq to convert some models to a sequence

Ondra Žižka created FREEMARKER-73:
-------------------------------------

             Summary: ?seq to convert some models to a sequence
                 Key: FREEMARKER-73
                 URL: https://issues.apache.org/jira/browse/FREEMARKER-73
             Project: Apache Freemarker
          Issue Type: Bug
          Components: engine
    Affects Versions: 2.3.26-incubating
            Reporter: Ondra Žižka


The objects I feed to FreeMarker often cotain {{Iterator}}s rather than {{Collection}}s.

While it's quite easy to write a FreeMarker function {{iteratorToList(Iterator)}}, it would be convenient to have the following:

A built-in that would convert various models to a sequence. Could be named {{?seq}} or {{?sequence}}.

Usage:
{code}<#assign foo = myIterable?seq>{code}
{code}<#assign foo = myIterator?seq>{code}

* A sequence would stay intact.
* An {{Iterable}} wrapped in FM model would become internally a {{List}} - all elements consumed and stored.
For me, other cases are not that important, but with some imagination, other models could also leverage it, like,
* A {{Stream}} could be also turned into a {{List}}.
* A hash could turn into a sequence of key/value pairs. That could be useful for debugging purposes.

I am not sure if I didn't propose that already, but I could only find FREEMARKER-62.

Thanks for considering.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)