Class NumberTypeParser<S>

java.lang.Object
dev.ua.theroer.magicutils.commands.parsers.NumberTypeParser<S>
Type Parameters:
S - sender type
All Implemented Interfaces:
TypeParser<S,Number>

public class NumberTypeParser<S> extends Object implements TypeParser<S,Number>
Type parser for numeric arguments (int/long/double/float/short/byte/BigInteger/BigDecimal).
  • Constructor Details

    • NumberTypeParser

      public NumberTypeParser()
      Default constructor.
  • Method Details

    • canParse

      public boolean canParse(@NotNull @NotNull Class<?> type)
      Description copied from interface: TypeParser
      Checks if this parser can handle the given type.
      Specified by:
      canParse in interface TypeParser<S,Number>
      Parameters:
      type - the class type to check
      Returns:
      true if this parser can handle the type
    • parse

      @Nullable public @Nullable Number parse(@Nullable @Nullable String value, @NotNull @NotNull Class<Number> targetType, @NotNull S sender)
      Description copied from interface: TypeParser
      Parses the given value to the target type.
      Specified by:
      parse in interface TypeParser<S,Number>
      Parameters:
      value - the string value to parse
      targetType - the target class type
      sender - the command sender (for context like @sender)
      Returns:
      the parsed object or null if parsing failed
    • getSuggestions

      @NotNull public @NotNull List<String> getSuggestions(@NotNull S sender)
      Description copied from interface: TypeParser
      Gets suggestions for this type.
      Specified by:
      getSuggestions in interface TypeParser<S,Number>
      Parameters:
      sender - the command sender for context
      Returns:
      list of all possible suggestions
    • canParseSuggestion

      public boolean canParseSuggestion(@NotNull @NotNull String source)
      Description copied from interface: TypeParser
      Checks if this parser can handle a special suggestion source. This allows parsers to handle special syntax like @players, @worlds, etc.
      Specified by:
      canParseSuggestion in interface TypeParser<S,Number>
      Parameters:
      source - the suggestion source to check
      Returns:
      true if this parser can handle the source
    • parseSuggestion

      @NotNull public @NotNull List<String> parseSuggestion(@NotNull @NotNull String source, @NotNull S sender)
      Description copied from interface: TypeParser
      Parses a special suggestion source and returns suggestions.
      Specified by:
      parseSuggestion in interface TypeParser<S,Number>
      Parameters:
      source - the suggestion source
      sender - the command sender for context
      Returns:
      list of suggestions from the source