Class ParseUtils

java.lang.Object
dev.sympho.modular_commands.utils.parse.ParseUtils

public final class ParseUtils extends Object
Convenience functions for common parsers.
Since:
1.0
Version:
1.0
  • Field Details

  • Method Details

    • channel

      @SideEffectFree public static <C extends @NonNull Channel> ChannelParser<C> channel(Class<C> type)
      Creates a parser for channels of the given type.
      Type Parameters:
      C - The channel type.
      Parameters:
      type - The type.
      Returns:
      The parser.
    • channelRef

      @SideEffectFree public static <C extends @NonNull Channel> ChannelRefParser<C> channelRef(Class<C> type)
      Creates a parser for channel references of the given type.
      Type Parameters:
      C - The channel type.
      Parameters:
      type - The type.
      Returns:
      The parser.
    • adaptInteger

      @SideEffectFree public static <T extends @NonNull Object> ParserFunction<String,T> adaptInteger(ParserFunction<Long,T> parser)
      Creates an adapter for an integer parser to be used with string values.
      Type Parameters:
      T - The parsed value type.
      Parameters:
      parser - The parser to use.
      Returns:
      The adapter parser.
    • adaptFloat

      @SideEffectFree public static <T extends @NonNull Object> ParserFunction<String,T> adaptFloat(ParserFunction<Double,T> parser)
      Creates an adapter for an float parser to be used with string values.
      Type Parameters:
      T - The parsed value type.
      Parameters:
      parser - The parser to use.
      Returns:
      The adapter parser.
    • adaptSnowflake

      @SideEffectFree public static <T extends @NonNull Object> ParserFunction<String,T> adaptSnowflake(ParserFunction<Snowflake,T> parser)
      Creates an adapter for a snowflake parser to be used with string values.
      Type Parameters:
      T - The parsed value type.
      Parameters:
      parser - The parser to use.
      Returns:
      The adapter parser.
    • adaptMessage

      @SideEffectFree public static <T extends @NonNull Object> ParserFunction<String,T> adaptMessage(ParserFunction<Message,T> parser)
      Creates an adapter for a message parser to be used with string values.
      Type Parameters:
      T - The parsed value type.
      Parameters:
      parser - The parser to use.
      Returns:
      The adapter parser.
    • adaptUser

      @SideEffectFree public static <T extends @NonNull Object> ParserFunction<String,T> adaptUser(ParserFunction<User,T> parser)
      Creates an adapter for an user parser to be used with string values.
      Type Parameters:
      T - The parsed value type.
      Parameters:
      parser - The parser to use.
      Returns:
      The adapter parser.
    • adaptRole

      @SideEffectFree public static <T extends @NonNull Object> ParserFunction<String,T> adaptRole(ParserFunction<Role,T> parser)
      Creates an adapter for a role parser to be used with string values.
      Type Parameters:
      T - The parsed value type.
      Parameters:
      parser - The parser to use.
      Returns:
      The adapter parser.
    • adaptChannel

      @SideEffectFree public static <C extends Channel, T extends @NonNull Object> ParserFunction<String,T> adaptChannel(ParserFunction<C,T> parser, Class<C> type)
      Creates an adapter for a channel parser to be used with string values.
      Type Parameters:
      C - The channel type.
      T - The parsed value type.
      Parameters:
      parser - The parser to use.
      type - The channel type.
      Returns:
      The adapter parser.
    • flux

      @SideEffectFree public static <T extends @NonNull Object> StringParser<Flux<T>> flux(ParserFunction<String,Mono<T>> parser)
      A parser that generates a flux by using the default list parser to split the raw argument, then the given item parser to convert each item into a mono, which are then merged.
      Type Parameters:
      T - The item type.
      Parameters:
      parser - The parser that creates monos for each item to be parsed.
      Returns:
      The parser.
    • integers

      @SideEffectFree public static ListParser<Long> integers()
      A parser that parses a list of integers.

      Values are separated by whitespace.

      Returns:
      The parser.
    • floats

      @SideEffectFree public static ListParser<Double> floats()
      A parser that parses a list of floats.

      Values are separated by whitespace.

      Returns:
      The parser.
    • snowflakes

      @SideEffectFree public static ListParser<Snowflake> snowflakes()
      A parser that parses a list of snowflake IDs.

      IDs are separated by whitespace.

      Returns:
      The parser.
    • messages

      @SideEffectFree public static ListParser<Message> messages()
      A parser that parses a list of messages.

      Messages are separated by whitespace.

      Returns:
      The parser.
    • users

      @SideEffectFree public static ListParser<User> users()
      A parser that parses a list of users.

      Users are separated by whitespace.

      Returns:
      The parser.
    • roles

      @SideEffectFree public static ListParser<Role> roles()
      A parser that parses a list of roles.

      Roles are separated by whitespace.

      Returns:
      The parser.
    • channels

      @SideEffectFree public static <C extends Channel> ListParser<C> channels(Class<C> type)
      A parser that parses a list of channels.

      Channels are separated by whitespace.

      Type Parameters:
      C - The channel type.
      Parameters:
      type - The channel type.
      Returns:
      The parser.