Class IntegerParser<C>
- All Implemented Interfaces:
ArgumentParser<C,,Integer> BlockingSuggestionProvider<C>,BlockingSuggestionProvider.Strings<C>,SuggestionProvider<C>,SuggestionProviderHolder<C>
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.incendo.cloud.parser.ArgumentParser
ArgumentParser.FutureArgumentParser<C,T> Nested classes/interfaces inherited from interface org.incendo.cloud.suggestion.BlockingSuggestionProvider
BlockingSuggestionProvider.Strings<C> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intConstant for the default/unset maximum value.static final intConstant for the default/unset minimum value. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetSuggestions(@NonNull Range<? extends Number> range, @NonNull CommandInput input) Returns integer suggestions.booleanhasMax()Returns whether this parser has a maximum value set.booleanhasMin()Returns whether this parser has a minimum value set.static <C> @NonNull CommandComponent.Builder<C, Integer> Returns aCommandComponent.BuilderusingintegerParser()as the parser.static <C> @NonNull ParserDescriptor<C, Integer> Creates a new integer parser usingDEFAULT_MINIMUMandDEFAULT_MAXIMUMas the limits.static <C> @NonNull ParserDescriptor<C, Integer> integerParser(int minValue) Creates a new integer parser usingDEFAULT_MAXIMUMas the maximum value.static <C> @NonNull ParserDescriptor<C, Integer> integerParser(int minValue, int maxValue) Creates a new integer parser.parse(@NonNull CommandContext<C> commandContext, @NonNull CommandInput commandInput) Attempts to parse theinputinto an object of typeArgumentParser.stringSuggestions(@NonNull CommandContext<C> commandContext, @NonNull CommandInput input) Returns the suggestions for the giveninput.Methods inherited from class org.incendo.cloud.parser.standard.NumberParser
rangeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.incendo.cloud.parser.ArgumentParser
flatMap, flatMapSuccess, mapSuccess, parseFuture, suggestionProviderMethods inherited from interface org.incendo.cloud.suggestion.BlockingSuggestionProvider
suggestionsFutureMethods inherited from interface org.incendo.cloud.suggestion.BlockingSuggestionProvider.Strings
suggestions
-
Field Details
-
DEFAULT_MINIMUM
Constant for the default/unset minimum value.- See Also:
-
DEFAULT_MAXIMUM
Constant for the default/unset maximum value.- See Also:
-
-
Constructor Details
-
IntegerParser
public IntegerParser(int min, int max) Construct a new integer parser- Parameters:
min- Minimum acceptable valuemax- Maximum acceptable value
-
-
Method Details
-
integerParser
Creates a new integer parser usingDEFAULT_MINIMUMandDEFAULT_MAXIMUMas the limits.- Type Parameters:
C- the command sender type- Returns:
- the created parser
-
integerParser
@API(status=STABLE) public static <C> @NonNull ParserDescriptor<C,Integer> integerParser(int minValue) Creates a new integer parser usingDEFAULT_MAXIMUMas the maximum value.- Type Parameters:
C- the command sender type- Parameters:
minValue- the minimum value accepted by the parser- Returns:
- the created parser
-
integerParser
@API(status=STABLE) public static <C> @NonNull ParserDescriptor<C,Integer> integerParser(int minValue, int maxValue) Creates a new integer parser.- Type Parameters:
C- the command sender type- Parameters:
minValue- the minimum value accepted by the parsermaxValue- the maximum value accepted by the parser- Returns:
- the created parser
-
integerComponent
@API(status=STABLE) public static <C> @NonNull CommandComponent.Builder<C,Integer> integerComponent()Returns aCommandComponent.BuilderusingintegerParser()as the parser.- Type Parameters:
C- the command sender type- Returns:
- the component builder
-
getSuggestions
public static @NonNull List<@NonNull String> getSuggestions(@NonNull Range<? extends Number> range, @NonNull CommandInput input) Returns integer suggestions. This supports both positive and negative numbers- Parameters:
range- accepted rangeinput- input- Returns:
- list of suggestions
-
parse
public @NonNull ArgumentParseResult<Integer> parse(@NonNull CommandContext<C> commandContext, @NonNull CommandInput commandInput) Description copied from interface:ArgumentParserAttempts to parse theinputinto an object of typeArgumentParser.This method may be called when a command chain is being parsed for execution (using
CommandExecutor.executeCommand(Object, String)) or when a command is being parsed to provide context for suggestions (usingSuggestionFactory.suggest(Object, String)). It is possible to useCommandContext.isSuggestions()} to see what the purpose of the parsing is. Particular care should be taken when parsing for suggestions, as the parsing method is then likely to be called once for every character written by the command sender.This method should never throw any exceptions under normal circumstances. Instead, if the parsing for some reason cannot be done successfully
ArgumentParseResult.failure(Throwable)should be returned. This then wraps any exception that should be forwarded to the command sender.The parser is assumed to be completely stateless and should not store any information about the command sender or the command context. Instead, information should be stored in the
CommandContext.- Specified by:
parsein interfaceArgumentParser<C,Integer> - Parameters:
commandContext- Command contextcommandInput- Command Input- Returns:
- Parsed command result
-
hasMax
public boolean hasMax()Description copied from class:NumberParserReturns whether this parser has a maximum value set.In other words, whether the
maximumof it'sNumberParser.range()is different than the default maximum value.- Specified by:
hasMaxin classNumberParser<C,Integer, IntRange> - Returns:
- whether the parser has a maximum set
-
hasMin
public boolean hasMin()Description copied from class:NumberParserReturns whether this parser has a minimum value set.In other words, whether the
minimumof it'sNumberParser.range()is different than the default minimum value.- Specified by:
hasMinin classNumberParser<C,Integer, IntRange> - Returns:
- whether the parser has a minimum set
-
stringSuggestions
public @NonNull Iterable<@NonNull String> stringSuggestions(@NonNull CommandContext<C> commandContext, @NonNull CommandInput input) Description copied from interface:BlockingSuggestionProvider.StringsReturns the suggestions for the giveninput.The
inputparameter contains all sender-provided input that has not yet been consumed by the argument parsers. If the component that the suggestion provider is generating suggestions for consumes multiple tokens the suggestion provider might receive aCommandInputinstance containing multiple tokens.CommandInput.lastRemainingToken()may be used to extract the part of the command that is currently being completed by the command sender.- Specified by:
stringSuggestionsin interfaceBlockingSuggestionProvider.Strings<C>- Parameters:
commandContext- Command contextinput- Input string- Returns:
- List of suggestions
-