나는 freemarker 초보자이며 일부 반복적 인 코드를 생성하는 데 사용하고 싶습니다. 나는이 간단한 템플릿을 가지고Freemarker : 중첩 된 템플릿
ValueProvider<Point,Integer> x();
ValueProvider<Point,Integer> y();
ValueProvider<Point,String> name();
는이를 위해 :
public class Point {
private Integer x;
private Integer y;
private String name;
}
는이 같은 라인을 생성하기 위해, 각 속성에 대한 필요 :이 같은 간단한 클래스에서
ValueProvider<${clazz},${attrType}> ${attrName}();
다음과 같이 전체 클래스를 생성하고 싶습니다.
이를 위해 6,public final class PointValueProviders {
public interface PointPropertyAccess extends PropertyAccess<Point>{
ValueProvider<Point,Integer> x();
ValueProvider<Point,Integer> y();
ValueProvider<Point,String> name();
}
public static final PointPropertyAccess POINT_PA= GWT.create(PointPropertyAccess.class);
private PointValueProviders(){}
};
, 나는 문제가 : 나는 어떻게이 같은 더 큰 템플릿에있는 작은 템플릿을 여러 번 예측할 수를 적용 모른다 :
public final ${clazz}ValueProviders {
public interface ${clazz}PropertyAccess extends PropertyAccess<${clazz}>{
//Here, How do I tell freemarker to use the small template???
//ValueProvider<${clazz},${attrType}> ${attrName}();
//ValueProvider<${clazz},${attrType}> ${attrName}();
//ValueProvider<${clazz},${attrType}> ${attrName}();
//ValueProvider<${clazz},${attrType}> ${attrName}();
//etc..
}
public static final ${clazz}PropertyAccess ${clazzUpperCase}_PA= GWT.create(${clazz}PropertyAccess.class);
private ${clazz}ValueProviders(){}
};
어떤 생각을?
목록과 함께 솔루션을 적용했습니다. Entry < "props", List