是否有一种简洁的方法来引用StringTemplate中属性的属性

时间:2014-07-28 14:21:51

标签: stringtemplate-4

我发现自己想写<prop1.subprop1:sometemplate>来将模板应用到属性属性中的列表。要做到这一点,我必须制作两个级别的模板:我必须在prop1上调用外部模板,然后让它处理下一个属性。

数据模型:

class Clazz {
    String name;
    Class parent;
}

目标:

class(c) ::= <<
   <c.parent.name> <! oops, not allowed !>
>>

所以我最终得到了

<c.parent:{ p | <p.name> }>

这有点笨拙。

然后我得到了这个:

class Attr {
   List<String> requiredParameters;
   Attr baseObject;
}

我想生成:

def __init__(self, reqparam1, ... rewqparamN)

第一个&#39; reqparam&#39;来自最深的项目。我试着编写以下内容,但ST在第二个模板中给出了语法错误,我尝试递归以构建列表。

self_and_list(list) ::= << self<if(first(list))>, <endif><list;separator=", "> >>

recurse_req(attr) ::= "<[<attr.baseObject:recurse_req()>, <attr.requiredParameters>]>"

self_and_req_params(attribute) ::= "<self_and_list(<attribute:recurse_req()>)>"

0 个答案:

没有答案