in src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java [344:371]
public T convert(
final Resource resource, final Class<T> clazz, final String configName, final boolean isCollection) {
return ConfigurationProxy.get(resource, clazz, new ChildResolver() {
private ConfigurationBuilder getConfiguration(String nestedConfigName) {
String childName;
String relatedConfigPath = resource != null ? resource.getPath() : null;
if (isCollection) {
childName = configurationPersistenceStrategy.getCollectionItemConfigName(
configName, relatedConfigPath)
+ "/" + nestedConfigName;
} else {
childName = configurationPersistenceStrategy.getConfigName(configName, relatedConfigPath) + "/"
+ nestedConfigName;
}
return configurationResolver.get(contentResource).name(childName);
}
@Override
public <C> C getChild(String configName, Class<C> clazz) {
return getConfiguration(configName).as(clazz);
}
@Override
public <C> Collection<C> getChildren(String configName, Class<C> clazz) {
return getConfiguration(configName).asCollection(clazz);
}
});
}