2021SC@SDUSC
TemplateElementsToVisit
代码:
class TemplateElementsToVisit {
private final Collection<TemplateElement> templateElements;
TemplateElementsToVisit(Collection<TemplateElement> templateElements) {
this.templateElements = null != templateElements ? templateElements : Collections.<TemplateElement> emptyList();
}
TemplateElementsToVisit(TemplateElement nestedBlock) {
this(Collections.singleton(nestedBlock));
}
Collection<TemplateElement> getTemplateElements() {
return templateElements;
}
}
作用:当被调用的元素有需要调用的嵌套元素时,用作TemplateElement.accept(Environment)的返回值。在从TemplateElement.accept(Environment)返回之前调用子元素会更自然,然而,如果在调用子元素之后没有任何事情可做,这将意味着浪费堆栈空间。
注:Freemarker代码来自FreeMarker 中文官方参考手册
新手写的代码分析,文章若有错误还请指出