org.stringtemplate.v4.STGroup Java Examples
The following examples show how to use
org.stringtemplate.v4.STGroup.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: MapModelAdaptor.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
@Override public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value; Map<?, ?> map = (Map<?, ?>)o; if ( property==null ) value = map.get(STGroup.DEFAULT_KEY); else if ( property.equals("keys") ) value = map.keySet(); else if ( property.equals("values") ) value = map.values(); else if ( map.containsKey(property) ) value = map.get(property); else if ( map.containsKey(propertyName) ) { // if can't find the key, try toString version value = map.get(propertyName); } else value = map.get(STGroup.DEFAULT_KEY); // not found, use default if ( value==STGroup.DICT_KEY ) { value = property; } return value; }
Example #2
Source File: ExtensibleStCompiler.java From protostuff-compiler with Apache License 2.0 | 6 votes |
private void addPropertyExtensions(STGroup group, ExtensionProvider extensionProvider) { Map<Class<?>, PropertyProvider> extenderMap = extensionProvider.propertyProviders(); for (Map.Entry<Class<?>, PropertyProvider> entry : extenderMap.entrySet()) { Class<?> objectClass = entry.getKey(); PropertyProvider extender = entry.getValue(); group.registerModelAdaptor(objectClass, new ObjectModelAdaptor() { @Override public synchronized Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) { if (extender.hasProperty(propertyName)) { return extender.getProperty(o, propertyName); } return super.getProperty(interp, self, o, property, propertyName); } }); } }
Example #3
Source File: MapModelAdaptor.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
@Override public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value; Map<?, ?> map = (Map<?, ?>)o; if ( property==null ) value = map.get(STGroup.DEFAULT_KEY); else if ( property.equals("keys") ) value = map.keySet(); else if ( property.equals("values") ) value = map.values(); else if ( map.containsKey(property) ) value = map.get(property); else if ( map.containsKey(propertyName) ) { // if can't find the key, try toString version value = map.get(propertyName); } else value = map.get(STGroup.DEFAULT_KEY); // not found, use default if ( value==STGroup.DICT_KEY ) { value = property; } return value; }
Example #4
Source File: MapModelAdaptor.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
@Override public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value; Map<?, ?> map = (Map<?, ?>)o; if ( property==null ) value = map.get(STGroup.DEFAULT_KEY); else if ( property.equals("keys") ) value = map.keySet(); else if ( property.equals("values") ) value = map.values(); else if ( map.containsKey(property) ) value = map.get(property); else if ( map.containsKey(propertyName) ) { // if can't find the key, try toString version value = map.get(propertyName); } else value = map.get(STGroup.DEFAULT_KEY); // not found, use default if ( value==STGroup.DICT_KEY ) { value = property; } return value; }
Example #5
Source File: MapModelAdaptor.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
@Override public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value; Map<?, ?> map = (Map<?, ?>)o; if ( property==null ) value = map.get(STGroup.DEFAULT_KEY); else if ( property.equals("keys") ) value = map.keySet(); else if ( property.equals("values") ) value = map.values(); else if ( map.containsKey(property) ) value = map.get(property); else if ( map.containsKey(propertyName) ) { // if can't find the key, try toString version value = map.get(propertyName); } else value = map.get(STGroup.DEFAULT_KEY); // not found, use default if ( value==STGroup.DICT_KEY ) { value = property; } return value; }
Example #6
Source File: MapModelAdaptor.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
@Override public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value; Map<?, ?> map = (Map<?, ?>)o; if ( property==null ) value = map.get(STGroup.DEFAULT_KEY); else if ( property.equals("keys") ) value = map.keySet(); else if ( property.equals("values") ) value = map.values(); else if ( map.containsKey(property) ) value = map.get(property); else if ( map.containsKey(propertyName) ) { // if can't find the key, try toString version value = map.get(propertyName); } else value = map.get(STGroup.DEFAULT_KEY); // not found, use default if ( value==STGroup.DICT_KEY ) { value = property; } return value; }
Example #7
Source File: MapModelAdaptor.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
@Override public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value; Map<?, ?> map = (Map<?, ?>)o; if ( property==null ) value = map.get(STGroup.DEFAULT_KEY); else if ( property.equals("keys") ) value = map.keySet(); else if ( property.equals("values") ) value = map.values(); else if ( map.containsKey(property) ) value = map.get(property); else if ( map.containsKey(propertyName) ) { // if can't find the key, try toString version value = map.get(propertyName); } else value = map.get(STGroup.DEFAULT_KEY); // not found, use default if ( value==STGroup.DICT_KEY ) { value = property; } return value; }
Example #8
Source File: MapModelAdaptor.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
@Override public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value; Map<?, ?> map = (Map<?, ?>)o; if ( property==null ) value = map.get(STGroup.DEFAULT_KEY); else if ( property.equals("keys") ) value = map.keySet(); else if ( property.equals("values") ) value = map.values(); else if ( map.containsKey(property) ) value = map.get(property); else if ( map.containsKey(propertyName) ) { // if can't find the key, try toString version value = map.get(propertyName); } else value = map.get(STGroup.DEFAULT_KEY); // not found, use default if ( value==STGroup.DICT_KEY ) { value = property; } return value; }
Example #9
Source File: BuckPyFunction.java From buck with Apache License 2.0 | 6 votes |
/** * Returns a python string containing all of the default rule parameters that should be made * available to user defined rules in the python build file parser */ public String addDefaultAttributes() { STGroup group = buckPyFunctionTemplate.get(); ST st; // STGroup#getInstanceOf may not be thread safe. // See discussion in: https://github.com/antlr/stringtemplate4/issues/61 synchronized (group) { st = group.getInstanceOf("buck_py_attrs"); } st.add("implicit_required_attrs", UDR_IMPLICIT_REQUIRED_ATTRIBUTES); st.add("implicit_optional_attrs", UDR_IMPLICIT_OPTIONAL_ATTRIBUTES); st.add("implicit_required_test_attrs", UDR_IMPLICIT_REQUIRED_TEST_ATTRIBUTES); st.add("implicit_optional_test_attrs", UDR_IMPLICIT_OPTIONAL_TEST_ATTRIBUTES); try { StringWriter stringWriter = new StringWriter(); st.write(new AutoIndentWriter(stringWriter, "\n")); return stringWriter.toString(); } catch (IOException e) { throw new IllegalStateException("ST writer should not throw with StringWriter", e); } }
Example #10
Source File: MapModelAdaptor.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
@Override public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value; Map<?, ?> map = (Map<?, ?>)o; if ( property==null ) value = map.get(STGroup.DEFAULT_KEY); else if ( property.equals("keys") ) value = map.keySet(); else if ( property.equals("values") ) value = map.values(); else if ( map.containsKey(property) ) value = map.get(property); else if ( map.containsKey(propertyName) ) { // if can't find the key, try toString version value = map.get(propertyName); } else value = map.get(STGroup.DEFAULT_KEY); // not found, use default if ( value==STGroup.DICT_KEY ) { value = property; } return value; }
Example #11
Source File: MapModelAdaptor.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
@Override public Object getProperty(Interpreter interp, ST self, Object o, Object property, String propertyName) throws STNoSuchPropertyException { Object value; Map<?, ?> map = (Map<?, ?>)o; if ( property==null ) value = map.get(STGroup.DEFAULT_KEY); else if ( property.equals("keys") ) value = map.keySet(); else if ( property.equals("values") ) value = map.values(); else if ( map.containsKey(property) ) value = map.get(property); else if ( map.containsKey(propertyName) ) { // if can't find the key, try toString version value = map.get(propertyName); } else value = map.get(STGroup.DEFAULT_KEY); // not found, use default if ( value==STGroup.DICT_KEY ) { value = property; } return value; }
Example #12
Source File: Tool.java From bookish with MIT License | 6 votes |
public List<ST> getSnippetTemplates(STGroup pycodeTemplates, List<ExecutableCodeDef> defs) { List<ST> snippets = new ArrayList<>(); for (ExecutableCodeDef def : defs) { String tname = def.isOutputVisible ? "pyeval" : "pyfig"; ST snippet = pycodeTemplates.getInstanceOf(tname); snippet.add("def",def); // Don't allow "plt.show()" to execute, strip it String code = null; if ( def.code!=null ) { code = def.code.replace("plt.show()", ""); } if ( code!=null && code.trim().length()==0 ) { code = null; } snippet.add("code", code); snippets.add(snippet); } return snippets; }
Example #13
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test2() throws IOException { // test rig String templates = "t1(q1=\"Some\\nText\") ::= <<\n"+ "<q1>\n" +">>\n"+"\n"+"t2(p1) ::= <<\n"+ "<p1>\n"+ ">>\n"+ "\n"+ "main() ::= <<\n" +"START-<t1()>-END\n"+"\n"+"START-<t2(p1=\"Some\\nText\")>-END\n"+">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); STViz viz = st.inspect(); }
Example #14
Source File: GenDOT.java From cs652 with BSD 3-Clause "New" or "Revised" License | 5 votes |
public static String gen(LinkViz graph) { STGroup templates = new STGroupFile("DOT.stg"); ST fileST = templates.getInstanceOf("file"); fileST.add("gname", "testgraph"); for (LinkViz.Link x : graph.links) { ST edgeST = templates.getInstanceOf("edge"); edgeST.add("from", x.from); edgeST.add("to", x.to); fileST.add("edges", edgeST); } return fileST.render(); // render (eval) template to text }
Example #15
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test3() throws IOException { String templates = "main() ::= <<\n"+"Foo: <{bar};format=\"lower\">\n"+">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); st.inspect(); }
Example #16
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test4() throws IOException { String templates = "main(t) ::= <<\n"+"hi: <t>\n"+">>\n"+"foo(x,y={hi}) ::= \"<bar(x,y)>\"\n"+"bar(x,y) ::= << <y> >>\n"+"ignore(m) ::= \"<m>\"\n"; STGroup group = new STGroupString(templates); ST st = group.getInstanceOf("main"); ST foo = group.getInstanceOf("foo"); st.add("t", foo); ST ignore = group.getInstanceOf("ignore"); ignore.add("m", foo); // embed foo twice! st.inspect(); st.render(); }
Example #17
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test2() throws IOException { // test rig String templates = "t1(q1=\"Some\\nText\") ::= <<\n"+"<q1>\n"+">>\n"+"\n"+"t2(p1) ::= <<\n"+"<p1>\n"+">>\n"+"\n"+"main() ::= <<\n"+"START-<t1()>-END\n"+"\n"+"START-<t2(p1=\"Some\\nText\")>-END\n"+">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); STViz viz = st.inspect(); }
Example #18
Source File: TemplateMaker.java From axelor-open-suite with GNU Affero General Public License v3.0 | 5 votes |
public TemplateMaker(Locale locale, char delimiterStartChar, char delimiterStopChar) { this.locale = locale; this.stGroup = new STGroup(delimiterStartChar, delimiterStopChar); // Custom renderer this.stGroup.registerModelAdaptor(Model.class, new ModelFormatRenderer()); this.stGroup.registerRenderer(LocalDate.class, new LocalDateRenderer()); this.stGroup.registerRenderer(LocalDateTime.class, new LocalDateTimeRenderer()); this.stGroup.registerRenderer(LocalTime.class, new LocalTimeRenderer()); // Default renderer provide by ST this.stGroup.registerRenderer(String.class, new StringRenderer()); this.stGroup.registerRenderer(Number.class, new NumberRenderer()); this.stGroup.registerRenderer(Date.class, new DateRenderer()); }
Example #19
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test3() throws IOException { String templates = "main() ::= <<\n" + "Foo: <{bar};format=\"lower\">\n" + ">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); st.inspect(); }
Example #20
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test1() throws IOException { // test rig String templates = "method(type,name,locals,args,stats) ::= <<\n"+"public <type> <name>(<args:{a| int <a>}; separator=\", \">) {\n"+" <if(locals)>int locals[<locals>];<endif>\n"+" <stats;separator=\"\\n\">\n"+"}\n"+">>\n"+"assign(a,b) ::= \"<a> = <b>;\"\n"+"return(x) ::= <<return <x>;>>\n"+"paren(x) ::= \"(<x>)\"\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("method"); st.impl.dump(); st.add("type", "float"); st.add("name", "foo"); st.add("locals", 3); st.add("args", new String[] {"x", "y", "z"}); ST s1 = group.getInstanceOf("assign"); ST paren = group.getInstanceOf("paren"); paren.add("x", "x"); s1.add("a", paren); s1.add("b", "y"); ST s2 = group.getInstanceOf("assign"); s2.add("a", "y"); s2.add("b", "z"); ST s3 = group.getInstanceOf("return"); s3.add("x", "3.14159"); st.add("stats", s1); st.add("stats", s2); st.add("stats", s3); STViz viz = st.inspect(); System.out.println(st.render()); // should not mess up ST event lists }
Example #21
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test3() throws IOException { String templates = "main() ::= <<\n"+"Foo: <{bar};format=\"lower\">\n"+">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); st.inspect(); }
Example #22
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test3() throws IOException { String templates = "main() ::= <<\n"+ "Foo: <{bar};format=\"lower\">\n" +">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); st.inspect(); }
Example #23
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test3() throws IOException { String templates = "main() ::= <<\n"+"Foo: <{bar};format=\"lower\">\n"+">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); st.inspect(); }
Example #24
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test4() throws IOException { String templates = "main(t) ::= <<\n"+"hi: <t>\n"+">>\n"+"foo(x,y={hi}) ::= \"<bar(x,y)>\"\n"+ "bar(x,y) ::= << <y> >>\n" +"ignore(m) ::= \"<m>\"\n"; STGroup group = new STGroupString(templates); ST st = group.getInstanceOf("main"); ST foo = group.getInstanceOf("foo"); st.add("t", foo); ST ignore = group.getInstanceOf("ignore"); ignore.add("m", foo); // embed foo twice! st.inspect(); st.render(); }
Example #25
Source File: Compiler.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static CompiledST defineBlankRegion(CompiledST outermostImpl, Token nameToken) { String outermostTemplateName = outermostImpl.name; String mangled = STGroup.getMangledRegionName(outermostTemplateName, nameToken.getText()); CompiledST blank = new CompiledST(); blank.isRegion = true; blank.templateDefStartToken = nameToken; blank.regionDefType = ST.RegionType.IMPLICIT; blank.name = mangled; outermostImpl.addImplicitlyDefinedTemplate(blank); return blank; }
Example #26
Source File: Target.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public STGroup getTemplates() { if (templates == null) { String version = getVersion(); if ( version==null || !RuntimeMetaData.getMajorMinorVersion(version).equals(RuntimeMetaData.getMajorMinorVersion(Tool.VERSION))) { gen.tool.errMgr.toolError(ErrorType.INCOMPATIBLE_TOOL_AND_TEMPLATES, version, Tool.VERSION, language); } templates = loadTemplates(); } return templates; }
Example #27
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test3() throws IOException { String templates = "main() ::= <<\n"+ "Foo: <{bar};format=\"lower\">\n" +">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); st.inspect(); }
Example #28
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test3() throws IOException { String templates = "main() ::= <<\n"+"Foo: <{bar};format=\"lower\">\n"+">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); st.inspect(); }
Example #29
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test3() throws IOException { String templates = "main() ::= <<\n"+ "Foo: <{bar};format=\"lower\">\n" +">>\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("main"); st.inspect(); }
Example #30
Source File: STViz.java From codebuff with BSD 2-Clause "Simplified" License | 5 votes |
public static void test1() throws IOException { // test rig String templates = "method(type,name,locals,args,stats) ::= <<\n"+"public <type> <name>(<args:{a| int <a>}; separator=\", \">) {\n"+" <if(locals)>int locals[<locals>];<endif>\n"+" <stats;separator=\"\\n\">\n"+"}\n"+">>\n"+"assign(a,b) ::= \"<a> = <b>;\"\n"+"return(x) ::= <<return <x>;>>\n"+"paren(x) ::= \"(<x>)\"\n"; String tmpdir = System.getProperty("java.io.tmpdir"); writeFile(tmpdir, "t.stg", templates); STGroup group = new STGroupFile(tmpdir+"/"+"t.stg"); ST st = group.getInstanceOf("method"); st.impl.dump(); st.add("type", "float"); st.add("name", "foo"); st.add("locals", 3); st.add("args", new String[] {"x", "y", "z"}); ST s1 = group.getInstanceOf("assign"); ST paren = group.getInstanceOf("paren"); paren.add("x", "x"); s1.add("a", paren); s1.add("b", "y"); ST s2 = group.getInstanceOf("assign"); s2.add("a", "y"); s2.add("b", "z"); ST s3 = group.getInstanceOf("return"); s3.add("x", "3.14159"); st.add("stats", s1); st.add("stats", s2); st.add("stats", s3); STViz viz = st.inspect(); System.out.println(st.render()); // should not mess up ST event lists }