in uimafit-core/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java [1529:1554]
static String sanitizeDelegateKey(String name) {
if (name == null) {
return null;
}
String trimmedName = name.trim();
if (trimmedName.isEmpty()) {
return null;
}
StringBuilder buf = new StringBuilder();
for (int i = 0; i < trimmedName.length(); i++) {
char c = trimmedName.charAt(i);
if (isWhitespace(c) || c == '_') {
if (buf.length() > 0 && buf.charAt(buf.length() - 1) != '_') {
buf.append('_');
}
} else if (!isJavaIdentifierPart(c)) {
return null;
} else {
buf.append(c);
}
}
return buf.toString();
}