boolean test()

in src/main/java/org/apache/sling/engine/impl/filter/FilterPredicate.java [138:154]


    boolean test(final SlingHttpServletRequest req) {
        LOG.debug("starting filter test against {} request", req);
        final RequestPathInfo requestPathInfo = req.getRequestPathInfo();
        final String path = requestPathInfo.getResourcePath();
        final String uri = req.getPathInfo();
        boolean select = anyElementMatches(methods, req.getMethod())
                && anyElementMatches(selectors, requestPathInfo.getSelectors())
                && anyElementMatches(extensions, requestPathInfo.getExtension())
                && anyResourceTypeMatches(resourceTypes, req)
                && (patternMatches(pathRegex, path == null || path.isEmpty() ? "/" : path)
                || patternMatches(pathRegex, uri == null || uri.isEmpty() ? "/" : uri))
                && (patternMatches(requestPathRegex,  uri == null || uri.isEmpty() ? "/" : uri))
                && (patternMatches(resourcePathRegex,  path == null || path.isEmpty() ? "/" : path))
                && patternMatches(suffixRegex, requestPathInfo.getSuffix());
        LOG.debug("selection of {} returned {}", this, select);
        return select;
    }