[stringtemplate-interest] Issue with Multi-Valued attributes where
the attribute is a Map Key/Value pair.
Robert Paterson
robert.paterson at optusnet.com.au
Sun Oct 2 02:34:10 PDT 2005
Hi,
I have a problem with a template that uses a Multi-Valued attribute where
the attribute instances are HashMap Key/Value pairs. If I have two or more
HashMap instances the template works fine, but if I only have a single
HashMap instance it tries to iterate through the values of the HashMap. Is
there anyway around this short of creating a proper aggregate object that
has the properties I'm trying to set in the HashMap? (I imagine
StringTemplate is seeing the individual HashMap as a collection).
I have a main template "document.st" as follows:
DOCUMENT {
CONTENT {
$Paragraphs:paragraph(); separator="\n\n"$
}
}
And "paragraph.st" as follows:
PARAGRAPH {
BULLET "$it.Bullet$"
INDENT "$it.Indent$"
TEXT "$it.ParagraphText$"
}
And if I use the following code:
StringTemplateGroup group = new StringTemplateGroup("MyGroup",".");
// If I set the "Paragraphs" attribute with two HashMap instances it
works.
StringTemplate docOut = group.getInstanceOf("document");
HashMap para = new HashMap();
para.put("Bullet","N");
para.put("Indent","N");
para.put("ParagraphText","Now is the time for all good men...");
docOut.setAttribute("Paragraphs", para);
para = new HashMap();
para.put("Bullet","N");
para.put("Indent","N");
para.put("ParagraphText","... to come to the aid of their party.");
docOut.setAttribute("Paragraphs", para);
System.out.println(docOut.toString());
I get:
DOCUMENT {
CONTENT {
PARAGRAPH {
BULLET "N"
INDENT "N"
TEXT "Now is the time for all good men..."
}
PARAGRAPH {
BULLET "N"
INDENT "N"
TEXT "... to come to the aid of their party."
}
}
}
But if I try:
// But if I only set it with one HashMap instance it fails, and instead
tries to iterate through the values of the HashMap.
docOut = group.getInstanceOf("document");
para = new HashMap();
para.put("Bullet","N");
para.put("Indent","N");
para.put("ParagraphText","Now is the time for all good men...");
docOut.setAttribute("Paragraphs", para);
System.out.println(docOut.toString());
I get:
Class java.lang.String has no such attribute: Bullet in template context
[document paragraph]
java.lang.NoSuchFieldException: Bullet
at java.lang.Class.getField(Class.java:1507)
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:323
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Can't get property Bullet using method get/isBullet from java.lang.String
instance
java.lang.NullPointerException
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:340
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Class java.lang.String has no such attribute: Indent in template context
[document paragraph]
java.lang.NoSuchFieldException: Indent
at java.lang.Class.getField(Class.java:1507)
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:323
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Can't get property Indent using method get/isIndent from java.lang.String
instance
java.lang.NullPointerException
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:340
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Class java.lang.String has no such attribute: ParagraphText in template
context [document paragraph]
java.lang.NoSuchFieldException: ParagraphText
at java.lang.Class.getField(Class.java:1507)
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:323
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Can't get property ParagraphText using method get/isParagraphText from
java.lang.String instance
java.lang.NullPointerException
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:340
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Class java.lang.String has no such attribute: Bullet in template context
[document paragraph]
java.lang.NoSuchFieldException: Bullet
at java.lang.Class.getField(Class.java:1507)
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:323
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Can't get property Bullet using method get/isBullet from java.lang.String
instance
java.lang.NullPointerException
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:340
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Class java.lang.String has no such attribute: Indent in template context
[document paragraph]
java.lang.NoSuchFieldException: Indent
at java.lang.Class.getField(Class.java:1507)
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:323
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Can't get property Indent using method get/isIndent from java.lang.String
instance
java.lang.NullPointerException
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:340
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Class java.lang.String has no such attribute: ParagraphText in template
context [document paragraph]
java.lang.NoSuchFieldException: ParagraphText
at java.lang.Class.getField(Class.java:1507)
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:323
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Can't get property ParagraphText using method get/isParagraphText from
java.lang.String instance
java.lang.NullPointerException
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:340
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Class java.lang.String has no such attribute: Bullet in template context
[document paragraph]
java.lang.NoSuchFieldException: Bullet
at java.lang.Class.getField(Class.java:1507)
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:323
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Can't get property Bullet using method get/isBullet from java.lang.String
instance
java.lang.NullPointerException
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:340
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Class java.lang.String has no such attribute: Indent in template context
[document paragraph]
java.lang.NoSuchFieldException: Indent
at java.lang.Class.getField(Class.java:1507)
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:323
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Can't get property Indent using method get/isIndent from java.lang.String
instance
java.lang.NullPointerException
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:340
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Class java.lang.String has no such attribute: ParagraphText in template
context [document paragraph]
java.lang.NoSuchFieldException: ParagraphText
at java.lang.Class.getField(Class.java:1507)
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:323
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Can't get property ParagraphText using method get/isParagraphText from
java.lang.String instance
java.lang.NullPointerException
at
org.antlr.stringtemplate.language.ASTExpr.getObjectProperty(ASTExpr.java:340
)
at
org.antlr.stringtemplate.language.ActionEvaluator.attribute(ActionEvaluator.
java:348)
at
org.antlr.stringtemplate.language.ActionEvaluator.expr(ActionEvaluator.java:
135)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:84)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:480)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:494)
at
org.antlr.stringtemplate.language.ASTExpr.writeAttribute(ASTExpr.java:445)
at
org.antlr.stringtemplate.language.ActionEvaluator.action(ActionEvaluator.jav
a:86)
at org.antlr.stringtemplate.language.ASTExpr.write(ASTExpr.java:93)
at
org.antlr.stringtemplate.StringTemplate.write(StringTemplate.java:702)
at
org.antlr.stringtemplate.StringTemplate.toString(StringTemplate.java:1432)
at StringTemplateExample.main(StringTemplateExample.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
DOCUMENT {
CONTENT {
PARAGRAPH {
BULLET ""
INDENT ""
TEXT ""
}
PARAGRAPH {
BULLET ""
INDENT ""
TEXT ""
}
PARAGRAPH {
BULLET ""
INDENT ""
TEXT ""
}
}
}
Any help appreciated, but I'll happily write my own proper aggregate object
to get around this issue.
Regards,
Rob Paterson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: StringTemplateExample.java
Type: text/java
Size: 1472 bytes
Desc: not available
Url : http://www.antlr.org:8080/pipermail/stringtemplate-interest/attachments/20051002/2e82dfee/StringTemplateExample-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: document.st
Type: application/octet-stream
Size: 83 bytes
Desc: not available
Url : http://www.antlr.org:8080/pipermail/stringtemplate-interest/attachments/20051002/2e82dfee/document-0001.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: paragraph.st
Type: application/octet-stream
Size: 111 bytes
Desc: not available
Url : http://www.antlr.org:8080/pipermail/stringtemplate-interest/attachments/20051002/2e82dfee/paragraph-0001.obj
More information about the stringtemplate-interest
mailing list