Как вызвать код Java из Xpand?

Я хочу вызвать произвольный метод Java из шаблона Xpand (например, статический метод). Как я могу это сделать?


person thSoft    schedule 13.06.2013    source источник


Ответы (1)


Вам необходимо создать сопоставление для метода 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";
    }
}

Шаблон.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»
person allprog    schedule 13.06.2013