private static Formula prepareSegmentConditions()

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);
        }
    }