Package cloud.commandframework
Class Command<C>
- java.lang.Object
-
- cloud.commandframework.Command<C>
-
- Type Parameters:
C- Command sender type
public class Command<C> extends java.lang.ObjectA command consists out of a chain ofcommand arguments.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCommand.Builder<C>Builder forCommandinstances.
-
Constructor Summary
Constructors Constructor Description Command(@NonNull java.util.List<@NonNull CommandComponent<C>> commandComponents, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @NonNull CommandPermission commandPermission, @NonNull CommandMeta commandMeta)Construct a new commandCommand(@NonNull java.util.List<@NonNull CommandComponent<C>> commandComponents, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable java.lang.Class<? extends C> senderType, @NonNull CommandMeta commandMeta)Construct a new commandCommand(@NonNull java.util.List<@NonNull CommandComponent<C>> commandComponents, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable java.lang.Class<? extends C> senderType, @NonNull CommandPermission commandPermission, @NonNull CommandMeta commandMeta)Construct a new commandCommand(@NonNull java.util.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 repeatCommand(@NonNull java.util.Map<@NonNull CommandArgument<C,?>,@NonNull Description> commandArguments, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable java.lang.Class<? extends C> senderType, @NonNull CommandMeta commandMeta)Deprecated.Map does not allow for the same literal or variable argument name to repeatCommand(@NonNull java.util.Map<@NonNull CommandArgument<C,?>,@NonNull Description> commandArguments, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable java.lang.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
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description @NonNull java.lang.StringgetArgumentDescription(@NonNull CommandArgument<C,?> argument)Deprecated.More than one matching command argument may exist per command.@NonNull java.util.List<CommandArgument<@NonNull C,?>>getArguments()Return a copy of the command argument arrayCommandExecutionHandler<@NonNull C>getCommandExecutionHandler()Get the command execution handler@NonNull CommandMetagetCommandMeta()Get the command meta instance@NonNull CommandPermissiongetCommandPermission()Get the command permission@NonNull java.util.List<CommandComponent<@NonNull C>>getComponents()Returns a copy of the command component array@NonNull java.util.Optional<java.lang.Class<? extends C>>getSenderType()Get the required sender type, if one has been specifiedbooleanisHidden()Check whether or not the command is hiddenstatic <C> @NonNull Command.Builder<C>newBuilder(@NonNull java.lang.String commandName, @NonNull CommandMeta commandMeta, @NonNull ArgumentDescription description, @NonNull java.lang.String... aliases)Create a new command builder.static <C> @NonNull Command.Builder<C>newBuilder(@NonNull java.lang.String commandName, @NonNull CommandMeta commandMeta, @NonNull Description description, @NonNull java.lang.String... aliases)Deprecated.for removal since 1.4.0.static <C> @NonNull Command.Builder<C>newBuilder(@NonNull java.lang.String commandName, @NonNull CommandMeta commandMeta, @NonNull java.lang.String... aliases)Create a new command builder.java.lang.StringtoString()
-
-
-
Constructor Detail
-
Command
public Command(@NonNull java.util.List<@NonNull CommandComponent<C>> commandComponents, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable java.lang.Class<? extends C> senderType, @NonNull CommandPermission commandPermission, @NonNull CommandMeta commandMeta)
Construct a new command- Parameters:
commandComponents- Command component argument and descriptioncommandExecutionHandler- Execution handlersenderType- Required sender type. May benullcommandPermission- Command permissioncommandMeta- Command meta instance- Since:
- 1.3.0
-
Command
public Command(@NonNull java.util.List<@NonNull CommandComponent<C>> commandComponents, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable java.lang.Class<? extends C> senderType, @NonNull CommandMeta commandMeta)
Construct a new command- Parameters:
commandComponents- Command componentscommandExecutionHandler- Execution handlersenderType- Required sender type. May benullcommandMeta- Command meta instance- Since:
- 1.3.0
-
Command
public Command(@NonNull java.util.List<@NonNull CommandComponent<C>> commandComponents, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @NonNull CommandPermission commandPermission, @NonNull CommandMeta commandMeta)
Construct a new command- Parameters:
commandComponents- Command componentscommandExecutionHandler- Execution handlercommandPermission- Command permissioncommandMeta- Command meta instance- Since:
- 1.3.0
-
Command
@Deprecated public Command(@NonNull java.util.Map<@NonNull CommandArgument<C,?>,@NonNull Description> commandArguments, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable java.lang.Class<? extends C> senderType, @NonNull CommandPermission commandPermission, @NonNull CommandMeta commandMeta)
Deprecated.Map does not allow for the same literal or variable argument name to repeatConstruct a new command- Parameters:
commandArguments- Command argument and description pairscommandExecutionHandler- Execution handlersenderType- Required sender type. May benullcommandPermission- Command permissioncommandMeta- Command meta instance- See Also:
Command(List, CommandExecutionHandler, Class, CommandPermission, CommandMeta)
-
Command
@Deprecated public Command(@NonNull java.util.Map<@NonNull CommandArgument<C,?>,@NonNull Description> commandArguments, @NonNull CommandExecutionHandler<@NonNull C> commandExecutionHandler, @Nullable java.lang.Class<? extends C> senderType, @NonNull CommandMeta commandMeta)
Deprecated.Map does not allow for the same literal or variable argument name to repeatConstruct a new command- Parameters:
commandArguments- Command argumentscommandExecutionHandler- Execution handlersenderType- Required sender type. May benullcommandMeta- Command meta instance- See Also:
Command(List, CommandExecutionHandler, Class, CommandMeta)
-
Command
@Deprecated public Command(@NonNull java.util.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 repeatConstruct a new command- Parameters:
commandArguments- Command argumentscommandExecutionHandler- Execution handlercommandPermission- Command permissioncommandMeta- Command meta instance- See Also:
Command(List, CommandExecutionHandler, CommandPermission, CommandMeta)
-
-
Method Detail
-
newBuilder
@Deprecated public static <C> @NonNull Command.Builder<C> newBuilder(@NonNull java.lang.String commandName, @NonNull CommandMeta commandMeta, @NonNull Description description, @NonNull java.lang.String... aliases)
Deprecated.for removal since 1.4.0. UsenewBuilder(String, CommandMeta, ArgumentDescription, String...)instead.Create a new command builder. Is recommended to use the builder methods inCommandManagerrather than invoking this method directly.- Type Parameters:
C- Command sender type- Parameters:
commandName- Base command argumentcommandMeta- Command meta instancedescription- Command descriptionaliases- Command aliases- Returns:
- Command builder
-
newBuilder
public static <C> @NonNull Command.Builder<C> newBuilder(@NonNull java.lang.String commandName, @NonNull CommandMeta commandMeta, @NonNull ArgumentDescription description, @NonNull java.lang.String... aliases)
Create a new command builder. Is recommended to use the builder methods inCommandManagerrather than invoking this method directly.- Type Parameters:
C- Command sender type- Parameters:
commandName- Base command argumentcommandMeta- Command meta instancedescription- Command descriptionaliases- Command aliases- Returns:
- Command builder
- Since:
- 1.4.0
-
newBuilder
public static <C> @NonNull Command.Builder<C> newBuilder(@NonNull java.lang.String commandName, @NonNull CommandMeta commandMeta, @NonNull java.lang.String... aliases)
Create a new command builder. Is recommended to use the builder methods inCommandManagerrather than invoking this method directly.- Type Parameters:
C- Command sender type- Parameters:
commandName- Base command argumentcommandMeta- Command meta instancealiases- Command aliases- Returns:
- Command builder
-
getArguments
public @NonNull java.util.List<CommandArgument<@NonNull C,?>> getArguments()
Return a copy of the command argument array- Returns:
- Copy of the command argument array. This List is mutable.
-
getComponents
public @NonNull java.util.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 java.util.Optional<java.lang.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 public @NonNull java.lang.String getArgumentDescription(@NonNull CommandArgument<C,?> argument)
Deprecated.More than one matching command argument may exist per command. UsegetArguments()and search in that, instead.Get the description for an argument- Parameters:
argument- Argument- Returns:
- Argument description
- Throws:
java.lang.IllegalArgumentException- If the command argument does not exist
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
isHidden
public boolean isHidden()
Check whether or not the command is hidden- Returns:
trueif the command is hidden,falseif not
-
-