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