[ 
https://issues.apache.org/jira/browse/FREEMARKER-73?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16187818#comment-16187818
 ] 

Daniel Dekany commented on FREEMARKER-73:
-----------------------------------------

Perhaps the path of less resistance is changing the data-model. I don't mean 
the backing Java objects, but how the {{ObjectWrapper}} maps them to FTL 
values. DOM wrapping is an example of such things, where all query results are 
non-null values, even if just empty hash+sequences.

BTW, while creative input (like how could it handle certain atypical 
data-models better) is welcome, the reality is that most of them certainly 
won't be implemented in FM2... it's just backward compatibility obstacles all 
around. FM3 is the good place for more innovative things. Hence, I would turn 
towards the {{ObjectWrapper}}.

> ?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
>             Fix For: 2.3.27-incubating
>
>
> 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)

Reply via email to