为什么Externalizer允许空资源解析器?

时间:2016-10-27 13:41:45

标签: cq5 aem

根据javadocs,Externalizer API允许空资源解析器参数。允许null的目的是什么? Externalizer应针对资源映射解析给定路径并返回已解析的URL。如果资源解析器为null,这个目的是否正确?

1 个答案:

答案 0 :(得分:0)

我反编译了 com.day.cq.commons.impl.ExternalizerImpl.class ,看看为什么它是可选的。解析器必要的原因是反转外部URI的分辨率映射。如果您没有指定资源解析程序或请求,则代码将默认为提供的路径,而不尝试反转已解析的路径。

URI mapped = URI.create(resolver != null ? resolver.map(path) : path);

举个示例,您可以将 / content 映射到 / content / geometrixx / en 。传入解析器和 / content / geometrixx / en 的路径会导致 / content 。如果您想确保始终 / content / geometrixx / en 为资源解析器传递null。