blob: 62fe032242c3364039626cb6b9df1763f55bc619 [file]
package org.casbin.util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Util {
public static List<List<String>> parseNestedLists(String input) {
String innerString = input.substring(1, input.length() - 1);
String[] items = innerString.split("\\],\\[");
List<List<String>> result = new ArrayList<>();
for (String item : items) {
String cleanItem = item.replace("[", "").replace("]", "");
List<String> subList = Arrays.asList(cleanItem.split(","));
result.add(subList);
}
return result;
}
public static List<String> parseOrdinary(String input) {
String trimmedInput = input.substring(1, input.length() - 1);
return Arrays.asList(trimmedInput.split(","));
}
public static String getMethodName(String methodCodes) {
String regex = "\\b(\\w+)\\s*\\(";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(methodCodes);
return matcher.find() ? matcher.group(1) : null;
}
public static String[] cutString(String str) {
return str.replace(" ","").split(",");
}
public static int getArgsNum(String methodCodes) {
String regex = "\\(([^)]*)\\)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(methodCodes);
if (matcher.find()) {
String args = matcher.group(1);
String[] argList = args.split(",");
return argList.length;
}
return 0;
}
}