Annotation Type Parser
This annotation allows you to create annotated methods that behave like argument parsers.
The method must have this exact signature:
﹫Parser("name") // Name may be left out
public ParsedType methodName(CommandContext<YourSender> sender, Queue<String> input) {
}
The method can throw exceptions, and the thrown exceptions will automatically be
wrapped by a ArgumentParseResult.failure(Throwable)
- Since:
- 1.3.0
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionThe name of the parser.Name of the suggestions provider to use.
-
Element Details
-
name
String nameThe name of the parser. If this is left empty, the parser will be registered as a default parser for the return type of the method- Returns:
- Parser name
- Default:
- ""
-
suggestions
String suggestionsName of the suggestions provider to use. If the string is left empty, the default provider for theArgumentwill be used. Otherwise, theParserRegistryinstance in theCommandManagerwill be queried for a matching suggestion provider.For this to work, the suggestion needs to be registered in the parser registry. To do this, use
ParserRegistry.registerSuggestionProvider(String, BiFunction). The registry instance can be retrieved usingCommandManager.parserRegistry().- Returns:
- The name of the suggestion provider, or
""
- Default:
- ""
-