本文整理汇总了Java中org.apache.sling.api.resource.Resource.getChildren方法的典型用法代码示例。如果您正苦于以下问题:Java Resource.getChildren方法的具体用法?Java Resource.getChildren怎么用?Java Resource.getChildren使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.sling.api.resource.Resource
的用法示例。
在下文中一共展示了Resource.getChildren方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getProperties
import org.apache.sling.api.resource.Resource; //导入方法依赖的package包/类
/**
* Recursively searches all child-resources for the given resources and returns a map with all of them
*
* @param res
* @param properties
* @return
*/
protected Map<String, Object> getProperties(Resource res, String[] properties) {
//TODO: add support for * property
ValueMap vm = res.getValueMap();
Map<String, Object> ret = Arrays.stream(properties)
.filter(property -> vm.containsKey(property))
.collect(Collectors.toMap(Function.identity(), property -> vm.get(property)));
for (Resource child : res.getChildren()) {
Map<String, Object> props = getProperties(child, properties);
// merge properties
props.entrySet().forEach(entry -> {
//TODO: Merge properties
if (!ret.containsKey(entry.getKey())) {
ret.put(entry.getKey(), entry.getValue());
}
else {
ret.put(entry.getKey(), mergeProperties(ret.get(entry.getKey()), entry.getValue()));
}
});
}
return ret;
}