本文整理汇总了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.");
}
示例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;
}
示例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.");
}
}
}
}
}
示例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());
}
}
}
示例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();
}
}
示例6: configureParser
import org.kohsuke.args4j.spi.SubCommand; //导入依赖的package包/类
@Override
protected CmdLineParser configureParser(Object subCmd, SubCommand c) {
return new AdditionalOptionsCmdLineParser(subCmd);
}