in src/main/java/org/apache/sling/query/impl/resource/jcr/query/JcrQueryBuilder.java [109:131]
private static Formula prepareSegmentConditions(String resourceType, String resourceName,
List<Attribute> attributes) {
List<Term> conditions = new ArrayList<>();
if (StringUtils.isNotBlank(resourceType) && !StringUtils.contains(resourceType, ':')) {
conditions.add(new Atomic(String.format("s.[sling:resourceType] = '%s'", resourceType)));
}
if (StringUtils.isNotBlank(resourceName)) {
conditions.add(new Atomic(String.format("NAME(s) = '%s'", resourceName)));
}
if (attributes != null) {
for (Attribute a : attributes) {
String attributeCondition = getAttributeCondition(a);
if (StringUtils.isNotBlank(attributeCondition)) {
conditions.add(new Atomic(attributeCondition));
}
}
}
if (conditions.isEmpty()) {
return null;
} else {
return new Formula(Operator.AND, conditions);
}
}