Class CommandParameter

java.lang.Object
com.pnfsoftware.jeb.util.interpreter.CommandParameter

public class CommandParameter extends Object
Definition of a command's parameter. Each parameter can have a small description and be defined as prefixed or not: for example "-r" is a prefix with no name, "-t threadId" is a prefix with name and "thread" is a name without prefix.
  • Constructor Details

    • CommandParameter

      public CommandParameter(String name)
      Create a mandatory parameter.
      Parameters:
      name - parameter name
    • CommandParameter

      public CommandParameter(String name, boolean optional)
      Create a parameter.
      Parameters:
      name - parameter name
      optional - true if the parameter is optional
    • CommandParameter

      public CommandParameter(String name, String help, boolean optional)
      Create a parameter.
      Parameters:
      name - parameter name
      help - parameter help text
      optional - true if the parameter is optional
    • CommandParameter

      public CommandParameter(String prefix, String name, String help, boolean optional)
      Create a prefixed parameter.
      Parameters:
      prefix - parameter prefix without the leading dash
      name - parameter name; may be empty for a standalone flag
      help - parameter help text
      optional - true if the parameter is optional
    • CommandParameter

      public CommandParameter(String name, String help, boolean optional, boolean allowMultipleTokens)
      Create a parameter.
      Parameters:
      name - parameter name
      help - parameter help text
      optional - true if the parameter is optional
      allowMultipleTokens - true if this parameter can consume multiple tokens
    • CommandParameter

      public CommandParameter(String name, String help, boolean optional, boolean allowMultipleTokens, IAutocompleteListProvider autocompleteProvider)
      Create a parameter.
      Parameters:
      name - parameter name
      help - parameter help text
      optional - true if the parameter is optional
      allowMultipleTokens - true if this parameter can consume multiple tokens
      autocompleteProvider - optional provider for parameter completion
  • Method Details

    • hasPrefix

      public boolean hasPrefix()
      Determine whether this parameter has a prefix.
      Returns:
      true if a prefix is defined
    • getPrefix

      public String getPrefix()
      Short prefix (one letter by preference)
      Returns:
      the prefix without the leading dash, or null if none is defined
    • getName

      public String getName()
      Name of the parameter. Can be empty only if parameter is a meaningful standalone prefix ("-r" for recursive for example)
      Returns:
      the parameter name
    • getHelp

      public String getHelp()
      Help text
      Returns:
      the parameter help text
    • isOptional

      public boolean isOptional()
      Whether parameter is optional or mandatory.
      Returns:
      true if the parameter is optional
    • getAutocompleteProvider

      public IAutocompleteListProvider getAutocompleteProvider()
      Get the auto-completion provider for this parameter.
      Returns:
      the provider, or null if none was set
    • allowMultipleTokens

      public boolean allowMultipleTokens()
      Determine whether this parameter can consume multiple tokens.
      Returns:
      true if multiple tokens are allowed