/** * Returns the string representation of the argument type, including generics. * * @param simple If true, output the simple name of types * @return The type string representation */ default String getTypeString(boolean simple) { Class<T> type = getType(); StringBuilder returnType = new StringBuilder(simple ? type.getSimpleName() : type.getName()); Map<String, Argument<?>> generics = getTypeVariables(); if (!generics.isEmpty()) { returnType .append("<") .append(generics.values() .stream() .map(arg -> arg.getTypeString(simple)) .collect(Collectors.joining(", "))) .append(">"); } return returnType.toString(); }
private static String buildConversionMessage(String property, ArgumentConversionContext conversionContext) { Optional<ConversionError> lastError = conversionContext.getLastError(); if (lastError.isPresent()) { ConversionError conversionError = lastError.get(); return "Error resolving property value [" + property + "]. Unable to convert value " + conversionError.getOriginalValue().map(o -> "[" + o + "]").orElse("") + " to target type [" + conversionContext.getArgument().getTypeString(true) + "] due to: " + conversionError.getCause().getMessage(); } else { return "Error resolving property value [" + property + "]. Property doesn't exist"; } } }
private static String buildConversionMessage(String property, ArgumentConversionContext conversionContext) { Optional<ConversionError> lastError = conversionContext.getLastError(); if (lastError.isPresent()) { ConversionError conversionError = lastError.get(); return "Error resolving property value [" + property + "]. Unable to convert value " + conversionError.getOriginalValue().map(o -> "[" + o + "]").orElse("") + " to target type [" + conversionContext.getArgument().getTypeString(true) + "] due to: " + conversionError.getCause().getMessage(); } else { return "Error resolving property value [" + property + "]. Property doesn't exist"; } } }
/** * @param targetMethod The {@link MethodExecutionHandle} * @return A String with the target method */ protected String getMethodString(MethodExecutionHandle targetMethod) { return new StringBuilder() .append(targetMethod.getReturnType().asArgument().getTypeString(false)) .append(" ") .append(targetMethod.getDeclaringType().getName()) .append('.') .append(targetMethod.getMethodName()) .append("(") .append(Arrays .stream(targetMethod.getArguments()) .map(argument -> argument.getType().getName() + " " + argument.getName()) .collect(Collectors.joining(", "))) .append(")") .toString(); } }
/** * @param targetMethod The {@link MethodExecutionHandle} * @return A String with the target method */ protected String getMethodString(MethodExecutionHandle targetMethod) { return new StringBuilder() .append(targetMethod.getReturnType().asArgument().getTypeString(false)) .append(" ") .append(targetMethod.getDeclaringType().getName()) .append('.') .append(targetMethod.getMethodName()) .append("(") .append(Arrays .stream(targetMethod.getArguments()) .map(argument -> argument.getType().getName() + " " + argument.getName()) .collect(Collectors.joining(", "))) .append(")") .toString(); } }