public abstract class PatternMatchingCommandElement extends CommandElement
Modifier | Constructor and Description |
---|---|
protected |
PatternMatchingCommandElement(Text key) |
protected |
PatternMatchingCommandElement(Text key,
boolean yesIWantRegex) |
Modifier and Type | Method and Description |
---|---|
List<String> |
complete(CommandSource src,
CommandArgs args,
CommandContext context)
Fetch completions for command arguments.
|
protected abstract Iterable<String> |
getChoices(CommandSource source)
Gets the available choices for this command source.
|
protected Optional<Object> |
getExactMatch(Iterable<String> choices,
String potentialChoice)
Tests a string against a set of valid choices to see if it is a
case-insensitive match.
|
protected abstract Object |
getValue(String choice)
Gets the value for a given choice.
|
protected Object |
parseValue(CommandSource source,
CommandArgs args)
Attempt to extract a value for this element from the given arguments.
|
getKey, getUntranslatedKey, getUsage, parse
protected PatternMatchingCommandElement(@Nullable Text key, boolean yesIWantRegex)
yesIWantRegex
- Specify if you want to allow regex for users of
the command element. Note that this will open up for DoS attacks.@Nullable protected Object parseValue(CommandSource source, CommandArgs args) throws ArgumentParseException
CommandElement
CommandSource
in any way.parseValue
in class CommandElement
source
- The source to parse forargs
- the argumentsArgumentParseException
- if unable to extract a valuepublic List<String> complete(CommandSource src, CommandArgs args, CommandContext context)
CommandElement
complete
in class CommandElement
src
- The source requesting tab completionsargs
- The arguments currently providedcontext
- The context to store state inprotected Optional<Object> getExactMatch(Iterable<String> choices, String potentialChoice)
choices
- The choices available to match againstpotentialChoice
- The potential choiceOptional
containing the matched valueprotected abstract Iterable<String> getChoices(CommandSource source)
source
- The source requesting choicesprotected abstract Object getValue(String choice) throws IllegalArgumentException
getChoices(CommandSource)
, this must return a non-null value.
Otherwise, an IllegalArgumentException
may be throw.choice
- The specified choiceIllegalArgumentException
- if the input string is not any return
value of getChoices(CommandSource)