コード例 #1
0
  /**
   * Create a usage String representing the manager.
   *
   * <p>It will create a string like this : "Usage: enumArgumentTest [ -amvlps ] [ transactions num
   * ]"
   *
   * @param manager the current manager
   * @return the usage representation
   */
  private String usage(CliArgumentManager manager) {
    StringBuilder result = new StringBuilder();
    List<CliArgument> arguments = manager.getArguments();
    CliArgument defaultArg = manager.getDefaultArgument();

    if (usageShort) {
      // short version
      StringBuilder mandatory = new StringBuilder();
      boolean flag = false;
      for (CliArgument argument : arguments) {
        if (argument.isUsageHidden() || argument == defaultArg) {
          continue;
        }

        if (argument.isMandatory()) {
          mandatory.append(argument.getShortName().charAt(1));
        } else {
          if (!flag) {
            result.append("[ -");
            flag = true;
          }
          result.append(argument.getShortName().charAt(1));
        }
      }

      if (flag) {
        result.append(" ]");
      }
      if (mandatory.length() != 0) {
        result.append(" -");
        result.append(mandatory);
      }
    } else {
      // full version
      for (CliArgument argument : arguments) {
        if (argument.isUsageHidden() || argument == defaultArg) {
          continue;
        }
        result.append(argument.toString());
      }
    }

    if (defaultArg != null) {
      result.append(' ');
      if (!defaultArg.isMandatory()) {
        result.append("[ ");
      }
      result.append(defaultArg.toStringArgument());
      if (!defaultArg.isMandatory()) {
        result.append(" ]");
      }
    }
    return result.toString();
  }
コード例 #2
0
 @Override
 public void displayInfo(CliArgumentManager manager, PrintStream output) {
   output.printf(HELPER_INFO, manager.getProgramName());
   output.print(manager.getNewLine());
 }
コード例 #3
0
 @Override
 public void displayUsage(CliArgumentManager manager, PrintStream output) {
   output.printf(HELPER_USAGE, manager.getProgramName(), usage(manager));
   output.print(manager.getNewLine());
 }