boolean filterPasses()

in src/main/java/org/apache/sling/pipes/internal/FilterPipe.java [120:137]


    boolean filterPasses(Resource currentResource, Resource filterResource) throws RepositoryException {
        if (currentResource != null && filterResource != null) {
            ValueMap current = currentResource.getValueMap();
            ValueMap filter = filterResource.getValueMap();
            boolean injectChildrenCount = (Boolean) bindings.instantiateObject(filter.get(PN_INJECTCHILDRENCOUNT, PipeBindings.FALSE_BINDING));
            if (injectChildrenCount) {
                Node currentNode = currentResource.adaptTo(Node.class);
                if (currentNode != null) {
                    int childrenCount = IteratorUtils.toList(currentNode.getNodes()).size();
                    bindings.addBinding(BINDING_CHILDREN_COUNT, childrenCount);
                }
            }
            if (propertiesPass(current, filterResource)) {
                return childrenPass(currentResource, filterResource);
            }
        }
        return false;
    }