Class Command<C>

java.lang.Object
cloud.commandframework.Command<C>
Type Parameters:
C - Command sender type

@API(status=STABLE) public class Command<C> extends Object
A command consists out of a chain of command arguments.
  • Constructor Details

    • Command

      @API(status=STABLE, since="1.3.0") public Command(@NonNull List<@NonNull CommandComponent<C>> commandComponents, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable Class<? extends C> senderType, @NonNull CommandPermission commandPermission, @NonNull CommandMeta commandMeta)
      Construct a new command
      Parameters:
      commandComponents - Command component argument and description
      commandExecutionHandler - Execution handler
      senderType - Required sender type. May be null
      commandPermission - Command permission
      commandMeta - Command meta instance
      Since:
      1.3.0
    • Command

      @API(status=STABLE, since="1.3.0") public Command(@NonNull List<@NonNull CommandComponent<C>> commandComponents, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable Class<? extends C> senderType, @NonNull CommandMeta commandMeta)
      Construct a new command
      Parameters:
      commandComponents - Command components
      commandExecutionHandler - Execution handler
      senderType - Required sender type. May be null
      commandMeta - Command meta instance
      Since:
      1.3.0
    • Command

      @API(status=STABLE, since="1.3.0") public Command(@NonNull List<@NonNull CommandComponent<C>> commandComponents, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @NonNull CommandPermission commandPermission, @NonNull CommandMeta commandMeta)
      Construct a new command
      Parameters:
      commandComponents - Command components
      commandExecutionHandler - Execution handler
      commandPermission - Command permission
      commandMeta - Command meta instance
      Since:
      1.3.0
    • Command

      @Deprecated @API(status=DEPRECATED) public Command(@NonNull Map<@NonNull CommandArgument<C,?>,@NonNull Description> commandArguments, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable Class<? extends C> senderType, @NonNull CommandPermission commandPermission, @NonNull CommandMeta commandMeta)
      Deprecated.
      Map does not allow for the same literal or variable argument name to repeat
      Construct a new command
      Parameters:
      commandArguments - Command argument and description pairs
      commandExecutionHandler - Execution handler
      senderType - Required sender type. May be null
      commandPermission - Command permission
      commandMeta - Command meta instance
      See Also:
    • Command

      @Deprecated @API(status=DEPRECATED) public Command(@NonNull Map<@NonNull CommandArgument<C,?>,@NonNull Description> commandArguments, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable Class<? extends C> senderType, @NonNull CommandMeta commandMeta)
      Deprecated.
      Map does not allow for the same literal or variable argument name to repeat
      Construct a new command
      Parameters:
      commandArguments - Command arguments
      commandExecutionHandler - Execution handler
      senderType - Required sender type. May be null
      commandMeta - Command meta instance
      See Also:
    • Command

      @Deprecated @API(status=DEPRECATED) public Command(@NonNull Map<@NonNull CommandArgument<C,?>,@NonNull Description> commandArguments, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @NonNull CommandPermission commandPermission, @NonNull CommandMeta commandMeta)
      Deprecated.
      Map does not allow for the same literal or variable argument name to repeat
      Construct a new command
      Parameters:
      commandArguments - Command arguments
      commandExecutionHandler - Execution handler
      commandPermission - Command permission
      commandMeta - Command meta instance
      See Also:
  • Method Details

    • newBuilder

      @Deprecated @API(status=DEPRECATED, since="1.4.0") public static <C> @NonNull Command.Builder<C> newBuilder(@NonNull String commandName, @NonNull CommandMeta commandMeta, @NonNull Description description, @NonNull String... aliases)
      Deprecated.
      Create a new command builder. Is recommended to use the builder methods in CommandManager rather than invoking this method directly.
      Type Parameters:
      C - Command sender type
      Parameters:
      commandName - Base command argument
      commandMeta - Command meta instance
      description - Command description
      aliases - Command aliases
      Returns:
      Command builder
    • newBuilder

      @API(status=STABLE, since="1.4.0") public static <C> @NonNull Command.Builder<C> newBuilder(@NonNull String commandName, @NonNull CommandMeta commandMeta, @NonNull ArgumentDescription description, @NonNull String... aliases)
      Create a new command builder. Is recommended to use the builder methods in CommandManager rather than invoking this method directly.
      Type Parameters:
      C - Command sender type
      Parameters:
      commandName - Base command argument
      commandMeta - Command meta instance
      description - Command description
      aliases - Command aliases
      Returns:
      Command builder
      Since:
      1.4.0
    • newBuilder

      public static <C> @NonNull Command.Builder<C> newBuilder(@NonNull String commandName, @NonNull CommandMeta commandMeta, @NonNull String... aliases)
      Create a new command builder. Is recommended to use the builder methods in CommandManager rather than invoking this method directly.
      Type Parameters:
      C - Command sender type
      Parameters:
      commandName - Base command argument
      commandMeta - Command meta instance
      aliases - Command aliases
      Returns:
      Command builder
    • getArguments

      public @NonNull List<CommandArgument<@NonNull C,@NonNull ?>> getArguments()
      Return a copy of the command argument array
      Returns:
      Copy of the command argument array. This List is mutable.
    • getComponents

      @API(status=STABLE, since="1.3.0") public @NonNull List<CommandComponent<@NonNull C>> getComponents()
      Returns a copy of the command component array
      Returns:
      Copy of the command component array. This List is mutable
      Since:
      1.3.0
    • getCommandExecutionHandler

      public CommandExecutionHandler<@NonNull C> getCommandExecutionHandler()
      Get the command execution handler
      Returns:
      Command execution handler
    • getSenderType

      public @NonNull Optional<Class<? extends C>> getSenderType()
      Get the required sender type, if one has been specified
      Returns:
      Required sender type
    • getCommandPermission

      public @NonNull CommandPermission getCommandPermission()
      Get the command permission
      Returns:
      Command permission
    • getCommandMeta

      public @NonNull CommandMeta getCommandMeta()
      Get the command meta instance
      Returns:
      Command meta
    • getArgumentDescription

      @Deprecated @API(status=DEPRECATED) public @NonNull String getArgumentDescription(@NonNull CommandArgument<C,?> argument)
      Deprecated.
      More than one matching command argument may exist per command. Use getArguments() and search in that, instead.
      Get the description for an argument
      Parameters:
      argument - Argument
      Returns:
      Argument description
      Throws:
      IllegalArgumentException - If the command argument does not exist
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • isHidden

      public boolean isHidden()
      Check whether the command is hidden
      Returns:
      true if the command is hidden, false if not