Package pro.gravit.utils.command
Class Command
- java.lang.Object
-
- pro.gravit.utils.command.Command
-
- Direct Known Subclasses:
ClearCommand,DebugCommand,GCCommand,HelpCommand,SubCommand
public abstract class Command extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description java.util.Map<java.lang.String,Command>childCommandsList of available subcommands
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description org.jline.reader.CandidatebuildCandidate(CommandHandler.Category category, java.lang.String commandName)Creates a JLine candidate that appears in the list of available options when you press TABjava.util.List<org.jline.reader.Candidate>complete(java.util.List<java.lang.String> words, int wordIndex, java.lang.String word)Returns a list of available options for the next word for the current command.abstract java.lang.StringgetArgsDescription()abstract java.lang.StringgetUsageDescription()abstract voidinvoke(java.lang.String... args)Run current commandvoidinvokeSubcommands(java.lang.String... args)Transfer control to subcommandsprotected static java.lang.StringparseUsername(java.lang.String username)protected static java.util.UUIDparseUUID(java.lang.String s)protected voidverifyArgs(java.lang.String[] args, int min)
-
-
-
Field Detail
-
childCommands
public final java.util.Map<java.lang.String,Command> childCommands
List of available subcommands
-
-
Constructor Detail
-
Command
public Command()
-
Command
public Command(java.util.Map<java.lang.String,Command> childCommands)
-
-
Method Detail
-
parseUsername
protected static java.lang.String parseUsername(java.lang.String username) throws CommandException- Throws:
CommandException
-
parseUUID
protected static java.util.UUID parseUUID(java.lang.String s) throws CommandException- Throws:
CommandException
-
getArgsDescription
public abstract java.lang.String getArgsDescription()
-
getUsageDescription
public abstract java.lang.String getUsageDescription()
-
buildCandidate
public org.jline.reader.Candidate buildCandidate(CommandHandler.Category category, java.lang.String commandName)
Creates a JLine candidate that appears in the list of available options when you press TAB- Parameters:
category- this command categorycommandName- this command name- Returns:
- JLine Candidate
-
complete
public java.util.List<org.jline.reader.Candidate> complete(java.util.List<java.lang.String> words, int wordIndex, java.lang.String word)Returns a list of available options for the next word for the current command.- Parameters:
words- list all user wordswordIndex- current word indexword- current word- Returns:
- list of available Candidate
-
invokeSubcommands
public void invokeSubcommands(java.lang.String... args) throws java.lang.ExceptionTransfer control to subcommands- Parameters:
args- command arguments(includes subcommand name)- Throws:
java.lang.Exception- Error executing command
-
invoke
public abstract void invoke(java.lang.String... args) throws java.lang.ExceptionRun current command- Parameters:
args- command arguments- Throws:
java.lang.Exception- Error executing command
-
verifyArgs
protected final void verifyArgs(java.lang.String[] args, int min) throws CommandException- Throws:
CommandException
-
-