[stringtemplate-interest] setAttribute() method chaining
Terence Parr
parrt at cs.usfca.edu
Sun Jan 25 14:00:37 PST 2009
Yes, for next version. good idea.
Ter
On Jan 23, 2009, at 10:39 AM, Nathan Ward wrote:
> The method chaining is clearer, simpler, and more convenient which
> matters when I’m trying to get buy-in from other developers in our
> organization. So, the ability to do this would be appreciated if it
> could be worked in at some point.
>
> Regards,
>
> Nathan
>
> From: Terence Parr [mailto:parrt at cs.usfca.edu]
> Sent: Friday, January 23, 2009 1:09 AM
> To: Nathan Ward
> Cc: stringtemplate-interest at antlr.org
> Subject: Re: [stringtemplate-interest] setAttribute() method chaining
>
> Hi. a good idea. Though, I think it's easier to just do
>
> jspTemplate.setAttributes(aMap);
>
> and set aMap appropriately using Java stuff. Does HashMap allow
> setter chaining? If not, you can do:
>
> aMap = new HashMap() {
> {
> put("templateContext", this.templateContext);
> put("project", this.project);
> ...
> };
>
> On Jan 22, 2009, at 2:51 PM, Nathan Ward wrote:
>
>
> Terence,
>
> I have been integrating StringTemplate with a home grown JSP based
> template solution that we have used for several years. It would be
> convenient in this case to use “method chaining” if the
> setAttribute() method returned the instance of the StringTemplate.
>
> e.g.
> Instead of:
> StringTemplate jspTemplate =
> jspTemplateGroup.getInstanceOf("jsp");
> jspTemplate.setAttribute("templateContext",
> this.templateContext);
> jspTemplate.setAttribute("project", this.project);
> jspTemplate.setAttribute("screen", screen);
> String content = jspTemplate.toString();
>
> I could do:
> String content = jspTemplateGroup.getInstanceOf(“jsp”)
> .setAttribute("templateContext", this.templateContext)
> .setAttribute("project", this.project)
> .setAttribute("screen", screen)
> .toString();
>
> This is particularly convenient in cases where I have a block of
> code that needs to use more than one StringTemplate template
> instance. It mainly saves me from having to think up separate names
> for the StringTemplate variables and also seems to be more readable
> than a set of separate statements since there is less non-value
> added text. All it would take is the setAttribute() method to return
> the current StringTemplate object (i.e. “return this;”). For now,
> I’ve written a simple wrapper for StringTemplateGroup and
> StringTemplate classes and had to create a method named
> “newTemplate()” that mimics “getInstanceOf()” and a “setParam()”
> method that just calls setAttribute() but also returns itself.
>
> Nathan
>
> Nathan Ward
> ResQSoft, Inc.
> www.resqsoft.com
>
> _______________________________________________
> stringtemplate-interest mailing list
> stringtemplate-interest at antlr.org
> http://www.antlr.org/mailman/listinfo/stringtemplate-interest
>
More information about the stringtemplate-interest
mailing list