in src/main/java/org/apache/commons/validator/routines/DomainValidator.java [2098:2154]
private DomainValidator(final boolean allowLocal, final List<Item> items) {
this.allowLocal = allowLocal;
// default to class overrides
String[] ccMinus = countryCodeTLDsMinus;
String[] ccPlus = countryCodeTLDsPlus;
String[] genMinus = genericTLDsMinus;
String[] genPlus = genericTLDsPlus;
String[] localMinus = localTLDsMinus;
String[] localPlus = localTLDsPlus;
// apply the instance overrides
for (final Item item : items) {
final String[] copy = new String[item.values.length];
// Comparisons are always done with lower-case entries
for (int i = 0; i < item.values.length; i++) {
copy[i] = item.values[i].toLowerCase(Locale.ENGLISH);
}
Arrays.sort(copy);
switch (item.type) {
case COUNTRY_CODE_MINUS: {
ccMinus = copy;
break;
}
case COUNTRY_CODE_PLUS: {
ccPlus = copy;
break;
}
case GENERIC_MINUS: {
genMinus = copy;
break;
}
case GENERIC_PLUS: {
genPlus = copy;
break;
}
case LOCAL_MINUS: {
localMinus = copy;
break;
}
case LOCAL_PLUS: {
localPlus = copy;
break;
}
default:
break;
}
}
// init the instance overrides
myCountryCodeTLDsMinus = ccMinus;
myCountryCodeTLDsPlus = ccPlus;
myGenericTLDsMinus = genMinus;
myGenericTLDsPlus = genPlus;
myLocalTLDsMinus = localMinus;
myLocalTLDsPlus = localPlus;
}