Interface ValueParser<T>

  • All Known Subinterfaces:
    ResourceKeyedValueParameter<T>, ValueParameter<T>, ValueParameter.Simple<T>
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface ValueParser<T>
    Defines how a parameter should be parsed.
    • Method Detail

      • clientCompletionType

        default java.util.List<ClientCompletionType> clientCompletionType()
        Provides a hint to the client completion engine what sort of input(s) the client should expect.

        Multiple elements can be placed here for multi part parsers - that is, parsers that call parse methods on the ArgumentReader.Mutable more than once. However, it is recommended that you consider splitting your parsers up to consume one element at any time, any completions you provide may not be provided to the client if you do so.

        Returning an empty list does not infer that the element will not be displayed, rather, an empty list infers that the command system will decide. Custom parsers will default to a single ClientCompletionTypes.STRING. Be aware, providing a non-string type here may cause your completions to be ignored.

        If you wish to hide this element from client completion completely, return a List with a single ClientCompletionTypes.NONE.

        Remember that anything supplied here is a hint. It is possible that this hint will be ignored in some scenarios, particularly if this parser is one of many supplied to Parameter.Value.

        Returns:
        The ClientCompletionTypes to use on the client.