in commons/src/main/java/com/epam/eco/schemacatalog/domain/metadata/format/TagParser.java [71:106]
private static List<Object> parseParams(TagType type, String text) {
if (type.paramCount() == 0) {
return Collections.emptyList();
}
List<Object> params = Arrays.asList(new Object[type.paramCount()]);
int startIdx = text.indexOf(TYPE_END);
if (startIdx < 0) {
return params;
}
startIdx += TYPE_END.length();
int endIdx = text.indexOf(TAG_END, startIdx);
if (endIdx < 0) {
return params;
}
if (startIdx >= endIdx) {
return params;
}
String paramsText = text.substring(startIdx, endIdx);
String[] paramTokens = StringUtils.splitPreserveAllTokens(paramsText, PARAM_DELIMITER);
for (int i = 0; i < params.size(); i++) {
if (paramTokens.length <= i) {
break;
}
Object param = parseParam(paramTokens[i], type.paramType(i));
param = unescapeParam(param);
params.set(i, param);
}
return params;
}