|
|
@ -65,7 +65,7 @@ public class JobInvokeUtil |
|
|
|
/** |
|
|
|
/** |
|
|
|
* 校验是否为为class包名 |
|
|
|
* 校验是否为为class包名 |
|
|
|
* |
|
|
|
* |
|
|
|
* @param str 名称 |
|
|
|
* @param invokeTarget 名称 |
|
|
|
* @return true是 false否 |
|
|
|
* @return true是 false否 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public static boolean isValidClassName(String invokeTarget) |
|
|
|
public static boolean isValidClassName(String invokeTarget) |
|
|
@ -110,30 +110,30 @@ public class JobInvokeUtil |
|
|
|
{ |
|
|
|
{ |
|
|
|
return null; |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
String[] methodParams = methodStr.split(",(?=(?:[^\']*\"[^\']*\')*[^\']*$)"); |
|
|
|
String[] methodParams = methodStr.split(",(?=([^\"']*[\"'][^\"']*[\"'])*[^\"']*$)"); |
|
|
|
List<Object[]> classs = new LinkedList<>(); |
|
|
|
List<Object[]> classs = new LinkedList<>(); |
|
|
|
for (int i = 0; i < methodParams.length; i++) |
|
|
|
for (int i = 0; i < methodParams.length; i++) |
|
|
|
{ |
|
|
|
{ |
|
|
|
String str = StringUtils.trimToEmpty(methodParams[i]); |
|
|
|
String str = StringUtils.trimToEmpty(methodParams[i]); |
|
|
|
// String字符串类型,包含'
|
|
|
|
// String字符串类型,以'或"开头
|
|
|
|
if (StringUtils.contains(str, "'")) |
|
|
|
if (StringUtils.startsWithAny(str, "'", "\"")) |
|
|
|
{ |
|
|
|
{ |
|
|
|
classs.add(new Object[] { StringUtils.replace(str, "'", ""), String.class }); |
|
|
|
classs.add(new Object[] { StringUtils.substring(str, 1, str.length() - 1), String.class }); |
|
|
|
} |
|
|
|
} |
|
|
|
// boolean布尔类型,等于true或者false
|
|
|
|
// boolean布尔类型,等于true或者false
|
|
|
|
else if (StringUtils.equals(str, "true") || StringUtils.equalsIgnoreCase(str, "false")) |
|
|
|
else if ("true".equalsIgnoreCase(str) || "false".equalsIgnoreCase(str)) |
|
|
|
{ |
|
|
|
{ |
|
|
|
classs.add(new Object[] { Boolean.valueOf(str), Boolean.class }); |
|
|
|
classs.add(new Object[] { Boolean.valueOf(str), Boolean.class }); |
|
|
|
} |
|
|
|
} |
|
|
|
// long长整形,包含L
|
|
|
|
// long长整形,以L结尾
|
|
|
|
else if (StringUtils.containsIgnoreCase(str, "L")) |
|
|
|
else if (StringUtils.endsWith(str, "L")) |
|
|
|
{ |
|
|
|
{ |
|
|
|
classs.add(new Object[] { Long.valueOf(StringUtils.replaceIgnoreCase(str, "L", "")), Long.class }); |
|
|
|
classs.add(new Object[] { Long.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Long.class }); |
|
|
|
} |
|
|
|
} |
|
|
|
// double浮点类型,包含D
|
|
|
|
// double浮点类型,以D结尾
|
|
|
|
else if (StringUtils.containsIgnoreCase(str, "D")) |
|
|
|
else if (StringUtils.endsWith(str, "D")) |
|
|
|
{ |
|
|
|
{ |
|
|
|
classs.add(new Object[] { Double.valueOf(StringUtils.replaceIgnoreCase(str, "D", "")), Double.class }); |
|
|
|
classs.add(new Object[] { Double.valueOf(StringUtils.substring(str, 0, str.length() - 1)), Double.class }); |
|
|
|
} |
|
|
|
} |
|
|
|
// 其他类型归类为整形
|
|
|
|
// 其他类型归类为整形
|
|
|
|
else |
|
|
|
else |
|
|
|