• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java SubCommand类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.kohsuke.args4j.spi.SubCommand的典型用法代码示例。如果您正苦于以下问题:Java SubCommand类的具体用法?Java SubCommand怎么用?Java SubCommand使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SubCommand类属于org.kohsuke.args4j.spi包,在下文中一共展示了SubCommand类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: printUsage

import org.kohsuke.args4j.spi.SubCommand; //导入依赖的package包/类
public void printUsage() {
  LOGGER.info("Usage: pinot-admin.sh <subCommand>");
  LOGGER.info("Valid subCommands are:");

  Class<PinotAdministrator> obj = PinotAdministrator.class;

  for (Field f : obj.getDeclaredFields()) {
    if (f.isAnnotationPresent(SubCommands.class)) {
      SubCommands subCommands = f.getAnnotation(SubCommands.class);

      for (SubCommand subCommand : subCommands.value()) {
        Class<?> subCommandClass = subCommand.impl();
        Command command = null;

        try {
          command = (Command) subCommandClass.newInstance();
          LOGGER.info("\t" + subCommand.name() + "\t<" + command.description() + ">");
        } catch (Exception e) {
          LOGGER.info("Internal Error: Error instantiating class.");
        }
      }
    }
  }
  LOGGER.info("For other crud operations, please refer to ${ControllerAddress}/help.");
}
 
开发者ID:Hanmourang,项目名称:Pinot,代码行数:26,代码来源:PinotAdministrator.java


示例2: all

import org.kohsuke.args4j.spi.SubCommand; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public static Map<String, Command> all() {
  if (ALL == null) {
    try {
      ALL = new HashMap<String, Command>();
      Field cmdField = Gaffer.class.getDeclaredField("cmd");
      SubCommands subCommands = cmdField.getAnnotation(SubCommands.class);
      for (SubCommand sub : subCommands.value()) {
        if (Command.class.isAssignableFrom(sub.impl())) {
          Class<Command> clazz = (Class<Command>) sub.impl();
          ALL.put(sub.name(), clazz.newInstance());
        }
      }
    } catch (Exception e) {
      throw new RuntimeException(e);
    }

  }

  return ALL;
}
 
开发者ID:jingweno,项目名称:gaffer,代码行数:22,代码来源:Commands.java


示例3: printUsage

import org.kohsuke.args4j.spi.SubCommand; //导入依赖的package包/类
public void printUsage() {
  LOGGER.info("Usage: pinot-tools.sh <subCommand>");
  LOGGER.info("Valid subCommands are:");

  Class<PinotToolLauncher> obj = PinotToolLauncher.class;

  for (Field f : obj.getDeclaredFields()) {
    if (f.isAnnotationPresent(SubCommands.class)) {
      SubCommands subCommands = f.getAnnotation(SubCommands.class);

      for (SubCommand subCommand : subCommands.value()) {
        Class<?> subCommandClass = subCommand.impl();
        Command command = null;

        try {
          command = (Command) subCommandClass.newInstance();
          LOGGER.info("\t" + subCommand.name() + "\t<" + command.description() + ">");
        } catch (Exception e) {
          LOGGER.info("Internal Error: Error instantiating class.");
        }
      }
    }
  }
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:25,代码来源:PinotToolLauncher.java


示例4: getDeclaredSubCommandName

import org.kohsuke.args4j.spi.SubCommand; //导入依赖的package包/类
/**
 * @return The name that was used to invoke the subcommand, as declared in the annotations above
 */
String getDeclaredSubCommandName() {
  if (subcommand == null) {
    return "no_sub_command";
  } else {
    final Class<? extends Command> subcommandClass = subcommand.getClass();
    try {
      final SubCommands subCommands =
          this.getClass()
              .getDeclaredField(getSubcommandsFieldName())
              .getAnnotation(SubCommands.class);
      for (SubCommand c : subCommands.value()) {
        if (c.impl().equals(subcommandClass)) {
          return c.name();
        }
      }
      return "unknown_sub_command";
    } catch (NoSuchFieldException e) {
      throw new HumanReadableException(e.getMessage());
    }
  }
}
 
开发者ID:facebook,项目名称:buck,代码行数:25,代码来源:BuckCommand.java


示例5: printUsage

import org.kohsuke.args4j.spi.SubCommand; //导入依赖的package包/类
private static void printUsage(final PrintStream out, final CmdLineParser cli) {
  try {
    out.println("\nUsage: canvas <global options> <command> <sub-command> <options>\n");
    cli.printUsage(out);
    out.println(
        "\n*****************************************************************************");
    final SubCommands commands = CanvasDataCli.class.getField("cmd")
        .getAnnotation(SubCommands.class);
    for (final SubCommand command : commands.value()) {
      out.println("\n" + command.name() + " commands: ");
      final Command c = (Command) command.impl().newInstance();
      new CmdLineParser(c).printUsage(out);
      final SubCommands subCommands = c.getClass().getField("cmd")
          .getAnnotation(SubCommands.class);
      for (final SubCommand subCommand : subCommands.value()) {
        final Command sc = (Command) subCommand.impl().newInstance();
        out.println("\n" + command.name() + " " + subCommand.name() + ": " + sc.getDescription());
        new CmdLineParser(sc).printUsage(out);
      }
      out.println(
          "\n*****************************************************************************");
    }
    out.println();
  } catch (NoSuchFieldException | SecurityException | InstantiationException
      | IllegalAccessException e) {
    e.printStackTrace();
  }
}
 
开发者ID:penzance,项目名称:canvas-data-tools,代码行数:29,代码来源:CanvasDataCli.java


示例6: configureParser

import org.kohsuke.args4j.spi.SubCommand; //导入依赖的package包/类
@Override
protected CmdLineParser configureParser(Object subCmd, SubCommand c) {
  return new AdditionalOptionsCmdLineParser(subCmd);
}
 
开发者ID:facebook,项目名称:buck,代码行数:5,代码来源:AdditionalOptionsSubCommandHandler.java



注:本文中的org.kohsuke.args4j.spi.SubCommand类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java RangeTombstone类代码示例发布时间:2022-05-21
下一篇:
Java MapSerializer类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap