void validateList()

in src/main/java/org/apache/sling/feature/extension/apiregions/api/config/validation/PropertyValidator.java [155:194]


    void validateList(final Context context, final DescribableEntity desc, final List<Object> values) {
        if ( context.description.getCardinality() > 0 && values.size() > context.description.getCardinality() ) {
            setResult(context, desc, "Array/collection contains too many elements, only " + context.description.getCardinality() +
                            " allowed");
        }
        if ( context.description.getIncludes() != null ) {
            for(final String inc : context.description.getIncludes()) {
                boolean found = false;
                for(final Object val : values) {
                    if ( inc.equals(val.toString())) {
                        found = true;
                        break;
                    }
                }
                if ( !found ) {
                    setResult(context, desc, "Required included value " + inc + " not found");
                    if ( context.result.isUseDefaultValue() ) {
                        context.result.setUseIncludesAndExcludes(context.description.getIncludes(), context.description.getExcludes());
                    }
                 }
            }
        }
        if ( context.description.getExcludes() != null ) {
            for(final String exc : context.description.getExcludes()) {
                boolean found = false;
                for(final Object val : values) {
                    if ( exc.equals(val.toString())) {
                        found = true;
                        break;
                    }
                }
                if ( found ) {
                    setResult(context, desc, "Not allowed excluded value " + exc + " found");
                    if ( context.result.isUseDefaultValue() ) {
                        context.result.setUseIncludesAndExcludes(context.description.getIncludes(), context.description.getExcludes());
                    }
                }
            }
        }
    }