[stringtemplate-interest] Ok, I'm stumped

Barnes, Jeff JB0284 at att.com
Mon Aug 6 08:35:24 PDT 2007


The following code outputs:
Terence
I'm True
Parr
I'm False

I was expecting:
Terence
I'm False
Parr
I'm True

Huh???

Note: reversing the Boolean values gives the 'correct' output.

Huh???

import org.antlr.stringtemplate.StringTemplateGroup;
import org.antlr.stringtemplate.StringTemplate;
import org.antlr.stringtemplate.language.DefaultTemplateLexer;
import java.io.InputStreamReader;

public class Test
{
     static class Form {
         String[] names;
         boolean[] values;
         public String[] getNames() { return names; }
         public boolean[] getValues() { return values; }
     }

     public static void main(String[] args)
     {

         Form f = new Form();
         f.names = new String[] { "Terence", "Parr" };
         f.values = new boolean[] { false, true };

         StringTemplate st = new StringTemplate( 
             "$form.names,form.values:{ name, value |\n" +
             "$name$\n" +
             "$if(value)$I'm True$else$I'm False$endif$" +
             "};separator=\"\n\"$");
         st.setAttribute("form", f);
         System.out.println(st.toString());
     }
}


More information about the stringtemplate-interest mailing list