public AttributePolicy newDynamicAttributePolicy()

in src/main/java/org/apache/sling/xss/impl/AntiSamyPolicyAdapter.java [235:252]


    public AttributePolicy newDynamicAttributePolicy(final List<Pattern> patternList, final boolean ignoreCase, final List<String> literalList) {
        return new AttributePolicy() {
            @Override
            public @Nullable String apply(String elementName, String attributeName, String value) {
                if (!literalList.isEmpty() && !patternList.isEmpty()) {
                    return matchesPatternsOrLiterals(patternList, ignoreCase, literalList).apply(value) ? value : null;

                } else if (!literalList.isEmpty()) {
                    value = ignoreCase ? value.toLowerCase() : value;
                    return literalList.contains(value) ? value : null;

                } else if (!patternList.isEmpty()) {
                    return matchesToPatterns(patternList).apply(value) ? value : null;
                }
                return null;
            }
        };
    }