diff --git a/cloud-annotations/src/main/java/cloud/commandframework/annotations/AnnotationParser.java b/cloud-annotations/src/main/java/cloud/commandframework/annotations/AnnotationParser.java index a967191b..0fe28bf8 100644 --- a/cloud-annotations/src/main/java/cloud/commandframework/annotations/AnnotationParser.java +++ b/cloud-annotations/src/main/java/cloud/commandframework/annotations/AnnotationParser.java @@ -573,7 +573,7 @@ public final class AnnotationParser { argumentPair ); commandArguments.put(argument.getName(), argument); - argumentDescriptions.put(argument, argumentPair.getArgument().description()); + argumentDescriptions.put(argument, this.processString(argumentPair.getArgument().description())); } boolean commandNameFound = false; /* Build the command tree */ @@ -725,7 +725,7 @@ public final class AnnotationParser { ))); } else { parser = this.manager.parserRegistry() - .createParser(argumentPair.getArgument().parserName(), parameters) + .createParser(this.processString(argumentPair.getArgument().parserName()), parameters) .orElseThrow(() -> new IllegalArgumentException( String.format("Parameter '%s' in method '%s' " + "has parser '%s' but no parser exists " @@ -752,7 +752,7 @@ public final class AnnotationParser { if (argument.defaultValue().isEmpty()) { argumentBuilder.asOptional(); } else { - argumentBuilder.asOptionalWithDefault(argument.defaultValue()); + argumentBuilder.asOptionalWithDefault(this.processString(argument.defaultValue())); } } else { argumentBuilder.asRequired(); @@ -765,7 +765,7 @@ public final class AnnotationParser { ); argumentBuilder.withSuggestionsProvider((commandContext, input) -> suggestions); } else if (!argument.suggestions().isEmpty()) { /* Check whether or not a suggestion provider should be set */ - final String suggestionProviderName = argument.suggestions(); + final String suggestionProviderName = this.processString(argument.suggestions()); final Optional, String, List>> suggestionsFunction = this.manager.parserRegistry().getSuggestionProvider(suggestionProviderName); argumentBuilder.withSuggestionsProvider( diff --git a/cloud-annotations/src/main/java/cloud/commandframework/annotations/MethodCommandExecutionHandler.java b/cloud-annotations/src/main/java/cloud/commandframework/annotations/MethodCommandExecutionHandler.java index 4c15c220..84de33eb 100644 --- a/cloud-annotations/src/main/java/cloud/commandframework/annotations/MethodCommandExecutionHandler.java +++ b/cloud-annotations/src/main/java/cloud/commandframework/annotations/MethodCommandExecutionHandler.java @@ -113,7 +113,7 @@ public class MethodCommandExecutionHandler implements CommandExecutionHandler if (argument.value().equals(AnnotationParser.INFERRED_ARGUMENT_NAME)) { argumentName = parameter.getName(); } else { - argumentName = argument.value(); + argumentName = this.annotationParser.processString(argument.value()); } final CommandArgument commandArgument = this.context.commandArguments.get(argumentName);