Annotation Type Parser


@Target(METHOD) @Retention(RUNTIME) public @interface Parser
This annotation allows you to create annotated methods that behave like argument parsers.

The method parameters can be any combination of:

The method can throw exceptions, and the thrown exceptions will automatically be wrapped by a ArgumentParseResult.failure(Throwable).

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Returns name of the parser.
    Returns the of the suggestion provider to use.
  • Element Details

    • name

      String name
      Returns 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 suggestions
      Returns the of the suggestion provider to use.

      If the string is left empty, the default provider for the Argument will be used. Otherwise, the ParserRegistry instance in the CommandManager will 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, SuggestionProvider). The registry instance can be retrieved using CommandManager.parserRegistry().

      Returns:
      The name of the suggestion provider, or ""
      Default:
      ""