如何从Xpand调用Java代码?

时间:2013-06-13 11:19:28

标签: xtend xpand

我想从Xpand模板(例如静态方法)调用任意Java方法。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

您需要在模板中为Java方法创建映射。这篇优秀的文章详细解释了这个过程http://pettergraff.blogspot.de/2009/11/how-to-write-extension-in-xtend-for.html

示例:

CalledJavaCode.java

package template;

public class CalledJavaCode {
    public static String evaluate(Object o) {
        return "some evaluation";
    }
}

<强> Template.xpt

//Xtend mapping for Java in template file
String eval(Object this) : JAVA
    template.CalledJavaCode.evaluate(java.lang.Object);

// Template.xpt usage of mapping
«FOREACH attribute AS a»
    «eval(a)»
«ENDFOREACH»