in src/main/java/org/apache/sling/api/uri/SlingUriBuilder.java [361:385]
public SlingUriBuilder setPath(@Nullable String path) {
if (schemeSpecificPart != null) {
return this;
}
// adds path parameters to this.pathParameters and returns path without those
path = extractPathParameters(path);
// split in resource path, selectors, extension and suffix
Matcher dotMatcher;
if (path != null && path.startsWith(SlingUriBuilder.CHAR_SLASH) && resourceResolver != null) {
setResourcePath(path);
rebaseResourcePath();
} else if (path != null && (dotMatcher = Pattern.compile(SELECTOR_DOT_REGEX).matcher(path)).find()) {
int firstDotPosition = dotMatcher.start();
setPathWithDefinedResourcePosition(path, firstDotPosition);
} else {
setSelectors(new String[] {});
setSuffix(null);
setExtension(null);
setResourcePath(path);
}
return this;
}