in ttl-agent/src/main/java/com/alibaba/ttl3/agent/TtlExtensionTransformletManager.java [259:295]
private static int parseLine(URL url, BufferedReader reader, int lineNum, LinkedHashSet<String> names) throws IOException {
String line = reader.readLine();
if (line == null) {
return -1;
}
// remove comments that start with `#`
int ci = line.indexOf('#');
if (ci >= 0) line = line.substring(0, ci);
line = line.trim();
int n = line.length();
if (n != 0) {
if ((line.indexOf(' ') >= 0) || (line.indexOf('\t') >= 0)) {
logger.error("Illegal syntax " + line + "in configuration file" + url + ", contains space or tab; ignore this line!");
return lineNum + 1;
}
int cp = line.codePointAt(0);
if (!Character.isJavaIdentifierStart(cp)) {
logger.error("Illegal extension class name " + line + " in configuration file " + url + "; ignore this line!");
return lineNum + 1;
}
for (int i = Character.charCount(cp); i < n; i += Character.charCount(cp)) {
cp = line.codePointAt(i);
if (!Character.isJavaIdentifierPart(cp) && (cp != '.')) {
logger.error("Illegal extension class name: " + line + " in configuration file " + url + "; ignore this line!");
return lineNum + 1;
}
}
names.add(line);
}
return lineNum + 1;
}