Class CommandContext<S>

java.lang.Object
io.github.mqzn.commands.base.context.CommandContext<S>
All Implemented Interfaces:
Context<S>

public final class CommandContext<S> extends Object implements Context<S>
  • Method Summary

    Modifier and Type
    Method
    Description
    @NotNull Command<S>
    The command found and used in the context made by the command sender
    static <S> CommandContext<S>
    create(@NotNull CommandManager<?,S> manager, @NotNull CommandSyntax<S> syntax, @NotNull DelegateCommandContext<S> context)
     
    The flags used in the command
    int
    Fetches the number of flags used in the raw arguments
    <T> T
    getArgument(int index)
    Fetches the parsed argument value may return null if the value parsed is not valid some cases of failed argument parsing may be like this one: an integer argument with min of 1 and max of 10, however the input was "one" or may be "-1" which is not a valid value .
    <T> T
    Fetches the parsed argument value may return null if the value parsed is not valid some cases of failed argument parsing may be like this one: an integer argument with min of 1 and max of 10, however the input was "one" or may be "-1" which is not a valid value .
    @Nullable String
    getRawArgument(int index)
    Fetches the raw argument from the input in the constructor
    @NotNull List<String>
    The raw arguments used in the context made by the command sender
    int
    The length of the args used in the raw context
    <T> void
    Parses the arguments into the used syntax this algorithm should provide good reasonable performance
    int
    The number of parsed args
    @NotNull String
    The raw arguments formatted using the command used
    Fetches the sender for this context

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.github.mqzn.commands.base.context.Context

    getLastIndex
  • Method Details

    • create

      public static <S> CommandContext<S> create(@NotNull @NotNull CommandManager<?,S> manager, @NotNull @NotNull CommandSyntax<S> syntax, @NotNull @NotNull DelegateCommandContext<S> context)
    • parse

      public <T> void parse() throws ArgumentParseException
      Parses the arguments into the used syntax this algorithm should provide good reasonable performance
      Specified by:
      parse in interface Context<S>
      Type Parameters:
      T - the type of arguments that is being parsed
      Throws:
      ArgumentParseException
    • parsedArguments

      public int parsedArguments()
      The number of parsed args
      Specified by:
      parsedArguments in interface Context<S>
      Returns:
      the number of arguments parsed in the context
    • flags

      @NotNull public @NotNull ContextFlagRegistry<S> flags()
      The flags used in the command
      Specified by:
      flags in interface Context<S>
      Returns:
      the flag registry for the flags used in the context of the command executed by the command sender
    • length

      public int length()
      The length of the args used in the raw context
      Specified by:
      length in interface Context<S>
      Returns:
      The length of the args used in the raw context
    • flagsUsed

      public int flagsUsed()
      Fetches the number of flags used in the raw arguments
      Specified by:
      flagsUsed in interface Context<S>
      Returns:
      the count of flags used in raw args
    • sender

      @NotNull public S sender()
      Fetches the sender for this context
      Specified by:
      sender in interface Context<S>
      Returns:
      the context command sender
    • commandUsed

      @NotNull public @NotNull Command<S> commandUsed()
      The command found and used in the context made by the command sender
      Specified by:
      commandUsed in interface Context<S>
      Returns:
      the command used !
      See Also:
    • getRawArguments

      @NotNull public @NotNull List<String> getRawArguments()
      The raw arguments used in the context made by the command sender
      Specified by:
      getRawArguments in interface Context<S>
      Returns:
      The raw arguments
    • rawFormat

      @NotNull public @NotNull String rawFormat()
      The raw arguments formatted using the command used
      Specified by:
      rawFormat in interface Context<S>
      Returns:
      the raw format used in the context
      See Also:
    • getRawArgument

      @Nullable public @Nullable String getRawArgument(int index)
      Fetches the raw argument from the input in the constructor
      Specified by:
      getRawArgument in interface Context<S>
      Parameters:
      index - the index of the raw argument to fetch
      Returns:
      the raw argument at a specific position
    • getArgument

      @Nullable public <T> T getArgument(String id)
      Fetches the parsed argument value may return null if the value parsed is not valid some cases of failed argument parsing may be like this one: an integer argument with min of 1 and max of 10, however the input was "one" or may be "-1" which is not a valid value .
      Specified by:
      getArgument in interface Context<S>
      Type Parameters:
      T - the type of arg value
      Parameters:
      id - the argument name/id
      Returns:
      the parsed value of the argument
    • getArgument

      @Nullable public <T> T getArgument(int index)
      Fetches the parsed argument value may return null if the value parsed is not valid some cases of failed argument parsing may be like this one: an integer argument with min of 1 and max of 10, however the input was "one" or may be "-1" which is not a valid value .
      Specified by:
      getArgument in interface Context<S>
      Type Parameters:
      T - the type of arg value
      Parameters:
      index - the argument index/position
      Returns:
      the parsed value of the argument