public static MessageFunction fromEL(String namespace, String signature) { int idx = validateParamIdx(signature); String methodName = signature.substring(0, idx).trim(); String methodParams = signature.substring(idx + 1, signature.length() - 1); int messageIndex = -1; int contextIndex = -1; int pluralIndex = -1; String[] params = methodParams.split("\\s*,\\s*"); int length = params.length; for (int i = 0; i < length; i++) { String name = params[i]; if ("context".equals(name)) { contextIndex = i; } else if ("message".equals(name)) { messageIndex = i; } else if ("plural".equals(name)) { pluralIndex = i; } } return new MessageFunction(namespace, methodName, null, messageIndex, contextIndex, pluralIndex, length); }
public static MessageFunction fromEL(String namespace, String signature) { int idx = validateParamIdx(signature); String methodName = signature.substring(0, idx).trim(); String methodParams = signature.substring(idx + 1, signature.length() - 1); int messageIndex = -1; int contextIndex = -1; int pluralIndex = -1; String[] params = methodParams.split("\\s*,\\s*"); int length = params.length; for (int i = 0; i < length; i++) { String name = params[i]; if ("context".equals(name)) { contextIndex = i; } else if ("message".equals(name)) { messageIndex = i; } else if ("plural".equals(name)) { pluralIndex = i; } } return new MessageFunction(namespace, methodName, null, messageIndex, contextIndex, pluralIndex, length); }
private static MessageFunction fromJava(String className, String returnType, String methodName, String methodParams) { String namespace = className.replace('.', '/'); int messageIndex = -1; int contextIndex = -1; int pluralIndex = -1; boolean isConstructor = "<init>".equals(methodName); String[] params = methodParams.split("\\s*,\\s*"); StringBuilder desc = new StringBuilder(); desc.append("("); int length = params.length; for (int i = 0; i < length; i++) { String[] typeAndName = params[i].split("\\s+"); if (typeAndName.length > 1) { String name = typeAndName[1]; if ("context".equals(name)) { contextIndex = isConstructor ? i+1 : i; } else if ("message".equals(name)) { messageIndex = isConstructor ? i+1 : i; } else if ("plural".equals(name)) { pluralIndex = isConstructor ? i+1 : i; } } if (typeAndName[0].length() > 0) { appendInternalName(desc, typeAndName[0]); } } desc.append(")"); appendInternalName(desc, returnType); return new MessageFunction(namespace, methodName, desc.toString(), messageIndex, contextIndex, pluralIndex, length); }
private static MessageFunction fromJava(String className, String returnType, String methodName, String methodParams) { String namespace = className.replace('.', '/'); int messageIndex = -1; int contextIndex = -1; int pluralIndex = -1; boolean isConstructor = "<init>".equals(methodName); String[] params = methodParams.split("\\s*,\\s*"); StringBuilder desc = new StringBuilder(); desc.append("("); int length = params.length; for (int i = 0; i < length; i++) { String[] typeAndName = params[i].split("\\s+"); if (typeAndName.length > 1) { String name = typeAndName[1]; if ("context".equals(name)) { contextIndex = isConstructor ? i+1 : i; } else if ("message".equals(name)) { messageIndex = isConstructor ? i+1 : i; } else if ("plural".equals(name)) { pluralIndex = isConstructor ? i+1 : i; } } if (typeAndName[0].length() > 0) { appendInternalName(desc, typeAndName[0]); } } desc.append(")"); appendInternalName(desc, returnType); return new MessageFunction(namespace, methodName, desc.toString(), messageIndex, contextIndex, pluralIndex, length); }