private String updateMethodArgument()

in camel-upgrade-recipes/src/main/java/org/apache/camel/upgrade/camel40/java/CamelBeanRecipe.java [123:158]


    private String updateMethodArgument(String argument) {

        Pattern identifierPattern = Pattern.compile("^[a-zA-Z_$][a-zA-Z0-9_$]*$");
        Pattern fullyQualifiedPattern = Pattern
                .compile("^([a-zA-Z_$][a-zA-Z0-9_$]*\\.)*[a-zA-Z_$][a-zA-Z0-9_$]*$");

        String updatedArgs = Arrays.asList(argument.split(",")).stream().map(arg -> {
            if (arg.endsWith(".class")) {
                return arg;
            }

            if (Arrays.asList(primitive).contains(arg.trim())) {
                return arg + ".class";
            }

            Matcher fullyQualifiedMatcher = fullyQualifiedPattern.matcher(arg);
            if (!fullyQualifiedMatcher.matches()) {
                return arg;
            }

            String[] parts = arg.split("\\.");

            for (String part : parts) {
                Matcher identifierMatcher = identifierPattern.matcher(part);
                if (!identifierMatcher.matches()) {
                    return arg;
                }
            }

            return arg + ".class";

        }).collect(Collectors.joining(","));

        return updatedArgs;

    }