本文整理了Java中net.sourceforge.argparse4j.inf.ArgumentParser
类的一些代码示例,展示了ArgumentParser
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ArgumentParser
类的具体详情如下:
包路径:net.sourceforge.argparse4j.inf.ArgumentParser
类名称:ArgumentParser
[英]This interface defines behavior of ArgumentParser.
The typical usage is set description using #description(String) and add arguments using #addArgument(String...). To add sub-command, first call #addSubparsers() to obtain Subparsers object. Subparsers object provides necessary methods to add sub-commands. To make a conceptual group of arguments, first call #addArgumentGroup(String) to create ArgumentGroup object. And add argument to that group using ArgumentGroup#addArgument(String...). Similarly, to add the mutually exclusive group of arguments, use #addMutuallyExclusiveGroup(String) to create MutuallyExclusiveGroup object. To parse command-line arguments, call #parseArgs(String[]) or several overloaded methods.
[中]此接口定义ArgumentParser的行为。
典型用法是使用#description(字符串)设置description,并使用#addArgument(字符串…)添加参数。要添加sub命令,首先调用#addSubparsers()以获取Subparsers对象。Subparsers对象提供了添加sub命令的必要方法。要创建参数的概念组,首先调用#addArgumentGroup(String)来创建ArgumentGroup对象。并使用ArgumentGroup#addArgument(字符串…)将参数添加到该组。类似地,要添加互斥的参数组,请使用#addMutuallyExclusiveGroup(字符串)创建MutuallyExclusiveGroup对象。要解析命令行参数,请调用#parseArgs(String[])或几个重载方法。
代码示例来源:origin: SeldonIO/seldon-server
public static void main(String[] args) throws Exception {
ArgumentParser parser = ArgumentParsers.newArgumentParser("PredictionsToInfluxDb")
.defaultHelp(true)
.description("Read Seldon predictions and send stats to influx db");
parser.addArgument("-t", "--topic").setDefault("Predictions").help("Kafka topic to read from");
parser.addArgument("-k", "--kafka").setDefault("localhost:9092").help("Kafka server and port");
parser.addArgument("-z", "--zookeeper").setDefault("localhost:2181").help("Zookeeper server and port");
parser.addArgument("-i", "--influxdb").setDefault("localhost:8086").help("Influxdb server and port");
parser.addArgument("-u", "--influx-user").setDefault("root").help("Influxdb user");
parser.addArgument("-p", "--influx-password").setDefault("root").help("Influxdb password");
parser.addArgument("-d", "--influx-database").setDefault("seldon").help("Influxdb database");
parser.addArgument("--influx-measurement").setDefault("predictions").help("Influxdb Predictions measurement");
Namespace ns = null;
try {
ns = parser.parseArgs(args);
PredictionsToInfluxDb.process(ns);
} catch (ArgumentParserException e) {
parser.handleError(e);
System.exit(1);
}
}
}
代码示例来源:origin: spotify/helios
.defaultHelp(true)
.version(format("%s%nTested on Docker %s", NAME_AND_VERSION, TESTED_DOCKER_VERSION))
.description(format("%s%n%n%s%n%s", NAME_AND_VERSION, HELP_ISSUES, HELP_WIKI));
commandParsers = parser.addSubparsers()
.metavar("COMMAND")
.title("commands");
parser.printHelp();
throw new ArgumentParserException(parser);
this.options = parser.parseArgs(args);
} catch (ArgumentParserException e) {
handleError(parser, e);
代码示例来源:origin: atomix/atomix
/**
* Parses the command line arguments, returning an argparse4j namespace.
*
* @param args the arguments to parse
* @return the namespace
*/
static Namespace parseArgs(String[] args, List<String> unknown) {
ArgumentParser parser = createParser();
Namespace namespace = null;
try {
namespace = parser.parseKnownArgs(args, unknown);
} catch (ArgumentParserException e) {
parser.handleError(e);
System.exit(1);
}
return namespace;
}
代码示例来源:origin: dropwizard/dropwizard
try {
if (isFlag(HELP, arguments)) {
parser.printHelp(stdOut);
} else if (isFlag(VERSION, arguments)) {
parser.printVersion(stdOut);
} else {
final Namespace namespace = parser.parseArgs(arguments);
final Command command = requireNonNull(commands.get(namespace.getString(COMMAND_NAME_ATTR)),
"Command is not found");
} catch (ArgumentParserException e) {
stdErr.println(e.getMessage());
e.getParser().printHelp(stdErr);
return false;
代码示例来源:origin: omkreddy/kafka-examples
public static void main(String[] args) throws InterruptedException {
ArgumentParser parser = argParser();
try {
Namespace result = parser.parseArgs(args);
List<String> topics = Arrays.asList(result.getString("topics").split(","));
Properties configs = getConsumerConfigs(result);
final BasicConsumeLoop<Serializable, Serializable> consumer = new BasicConsumeLoop<>(configs, topics);
consumer.run();
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
consumer.close();
}
}));
} catch (ArgumentParserException e) {
if(args.length == 0)
parser.printHelp();
else
parser.handleError(e);
System.exit(0);
}
}
代码示例来源:origin: GoogleCloudPlatform/java-docs-samples
public static void main(String... args) throws Exception {
ArgumentParser parser = ArgumentParsers.newFor("SynthesizeFile").build()
.defaultHelp(true)
.description("Synthesize a text file or ssml file.");
MutuallyExclusiveGroup group = parser.addMutuallyExclusiveGroup().required(true);
group.addArgument("--text").help("The text file from which to synthesize speech.");
group.addArgument("--ssml").help("The ssml file from which to synthesize speech.");
try {
Namespace namespace = parser.parseArgs(args);
if (namespace.get("text") != null) {
synthesizeTextFile(namespace.getString("text"));
} else {
synthesizeSsmlFile(namespace.getString("ssml"));
}
} catch (ArgumentParserException e) {
parser.handleError(e);
}
}
}
代码示例来源:origin: lenskit/lenskit
public void configureArguments(ArgumentParser parser) {
parser.description("Trains a recommendation model and write it to disk.");
ScriptEnvironment.configureArguments(parser);
InputData.configureArguments(parser);
parser.addArgument("-o", "--output-file")
.type(File.class)
.metavar("FILE")
.setDefault("model.bin")
.help("write trained model to FILE");
parser.addArgument("config")
.type(File.class)
.nargs("+")
.metavar("CONFIG")
.help("load algorithm configuration from CONFIG");
}
代码示例来源:origin: atomix/atomix
.defaultHelp(true)
.description("Runs the Atomix agent with the given arguments. Arbitrary configuration options may be overridden "
+ "by specifying the option path and value as an optional argument, e.g. --cluster.node.id node-1");
parser.addArgument("--member", "-m")
.type(String.class)
.nargs("?")
.required(false)
.help("The local member identifier, used in intra-cluster communication.");
parser.addArgument("--address", "-a")
.type(addressArgumentType)
.metavar("HOST:PORT")
.required(false)
.help("The address for the local member. If no address is specified, the first public interface will be used.");
parser.addArgument("--host")
.type(String.class)
.nargs("?")
.required(false)
.help("The host on which this member runs, used for host-aware partition management.");
parser.addArgument("--rack")
.type(String.class)
.nargs("?")
.required(false)
.help("The rack on which this member runs, used for rack-aware partition management.");
parser.addArgument("--zone")
.type(String.class)
.nargs("?")
.required(false)
.help("The zone in which this member runs, used for zone-aware partition management.");
代码示例来源:origin: AsamK/signal-cli
private static Namespace parseArgs(String[] args) {
ArgumentParser parser = ArgumentParsers.newFor("signal-cli")
.build()
.defaultHelp(true)
.description("Commandline interface for Signal.")
.version(BaseConfig.PROJECT_NAME + " " + BaseConfig.PROJECT_VERSION);
parser.addArgument("-v", "--version")
.help("Show package version.")
.action(Arguments.version());
parser.addArgument("--config")
.help("Set the path, where to store the config (Default: $XDG_DATA_HOME/signal-cli , $HOME/.local/share/signal-cli).");
MutuallyExclusiveGroup mut = parser.addMutuallyExclusiveGroup();
mut.addArgument("-u", "--username")
.help("Specify your phone number, that will be used for verification.");
Subparsers subparsers = parser.addSubparsers()
.title("subcommands")
.dest("command")
ns = parser.parseArgs(args);
} catch (ArgumentParserException e) {
parser.handleError(e);
return null;
parser.printUsage();
System.err.println("You cannot specify a username (phone number) when linking");
System.exit(2);
代码示例来源:origin: bazaarvoice/ostrich
private static Namespace parseCommandLine(String[] args) throws ArgumentParserException {
String usage = "java -jar " + new JarLocation(CalculatorProxyUser.class);
ArgumentParser argParser = ArgumentParsers.newArgumentParser(usage).defaultHelp(true);
argParser.addArgument("config-file").nargs("?").help("yaml configuration file");
return argParser.parseArgs(args);
}
代码示例来源:origin: com.salesforce.dockerfile-image-update/dockerfile-image-update
public static Namespace handleArguments(ArgumentParser parser, String[] args) {
Namespace ns = null;
try {
ns = parser.parseArgs(args);
} catch (ArgumentParserException e) {
parser.handleError(e);
}
return ns;
}
代码示例来源:origin: SurveyMan/SurveyMan
public static void main(String[] args) throws ArgumentParserException, InvocationTargetException, SurveyException, IllegalAccessException, NoSuchMethodException, IOException {
try {
ArgumentParser argumentParser = ArgumentParsers.newArgumentParser(
CSV2JSON.class.getName(), true, "-").description(
"Converts SurveyMan csv files to json.");
argumentParser.addArgument("csv").required(true);
argumentParser.addArgument("--sep").required(false).setDefault(",");
argumentParser.addArgument("--encoding").required(false).setDefault("UTF-8");
Namespace ns = argumentParser.parseArgs(args);
CSVLexer csvLexer = new CSVLexer((String) ns.get("csv"), (String) ns.get("sep"), (String) ns.get("encoding"));
CSVParser csvParser = new CSVParser(csvLexer);
Survey survey = csvParser.parse();
String json = survey.jsonize();
BufferedWriter bw = new BufferedWriter(new FileWriter(survey.sourceName + ".json"));
bw.write(json);
bw.close();
} catch (ArgumentParserException ape) {
System.out.println(ape.getMessage());
ape.getParser().printHelp();
}
}
}
代码示例来源:origin: lenskit/lenskit
public static void main(String[] args) {
ArgumentParser parser =
ArgumentParsers.newArgumentParser("lenskit")
.description("Work with LensKit recommenders and data.");
Logging.addLoggingGroup(parser);
Subparsers subparsers = parser.addSubparsers()
.metavar("COMMAND")
.title("commands");
Namespace options = parser.parseArgs(args);
Logging.configureLogging(options);
Runtime rt = Runtime.getRuntime();
logger.info("If you use LensKit in published research, please see http://lenskit.org/research/");
} catch (ArgumentParserException e) {
parser.handleError(e);
System.exit(1);
} catch (LenskitCommandException e) {
代码示例来源:origin: stackoverflow.com
ArgumentParser parser = ArgumentParsers.newArgumentParser("Checksum")
.defaultHelp(true)
.description("Calculate checksum of given files.");
parser.addArgument("-t", "--type")
.choices("SHA-256", "SHA-512", "SHA1").setDefault("SHA-256")
.help("Specify hash function to use");
parser.addArgument("file").nargs("*")
.help("File to calculate checksum");
Namespace ns = null;
try {
ns = parser.parseArgs(args);
} catch (ArgumentParserException e) {
parser.handleError(e);
System.exit(1);
}
代码示例来源:origin: stackoverflow.com
public static void main(String[] args) throws ArgumentParserException {
ArgumentParser parser = ArgumentParsers.newArgumentParser("prog");
parser.addArgument("--foo").action(Arguments.storeTrue());
parser.addArgument("--bar").action(Arguments.storeFalse());
parser.addArgument("--baz").action(Arguments.storeFalse());
System.out.println(parser.parseArgs(args));
}
代码示例来源:origin: apache/phoenix
private static Namespace parseArgs(String[] args) {
ArgumentParser parser = ArgumentParsers.newFor("Phoenix Canary Test Tool").build()
.description("Phoenix Canary Test Tool");
parser.addArgument("--hostname", "-hn").type(String.class).nargs("?").help("Hostname on "
+ "which Phoenix is running.");
parser.addArgument("--port", "-p").type(String.class).nargs("?").help("Port on " +
"which Phoenix is running.");
parser.addArgument("--constring", "-cs").type(String.class).nargs("?").help("Pass an " +
"explicit connection String to connect to Phoenix. " +
"default: jdbc:phoenix:thin:serialization=PROTOBUF;url=[hostName:port]");
parser.addArgument("--timeout", "-t").type(String.class).nargs("?").setDefault("60").help
("Maximum time for which the app should run before returning error. default:" + "" +
" 60 sec");
parser.addArgument("--testschema", "-ts").type(String.class).nargs("?").setDefault
(TEST_SCHEMA_NAME).help("Custom name for the test table. " + "default: " +
TEST_SCHEMA_NAME);
parser.addArgument("--testtable", "-tt").type(String.class).nargs("?").setDefault
(TEST_TABLE_NAME).help("Custom name for the test table." + " default: " +
TEST_TABLE_NAME);
parser.addArgument("--logsinkclass", "-lsc").type(String.class).nargs("?").setDefault
("PhoenixCanaryTool$StdOutSink").help
("Path to a Custom implementation for log sink class. default: stdout");
Namespace res = null;
try {
res = parser.parseKnownArgs(args, null);
} catch (ArgumentParserException e) {
parser.handleError(e);
}
return res;
}
代码示例来源:origin: dropwizard/dropwizard
private void addHelp(ArgumentParser p) {
p.addArgument("-h", "--help")
.action(new SafeHelpAction(stdOut))
.help("show this help message and exit")
.setDefault(Arguments.SUPPRESS);
}
代码示例来源:origin: dariober/ASCIIGenome
public static Map<Command, ArgumentParser> parser(){
Map<Command, ArgumentParser> argMap= new LinkedHashMap<Command, ArgumentParser>();
// ----------------------------------
ArgumentParser parser= ArgumentParsers
.newArgumentParser("print")
.defaultHelp(true)
.version("Print lines for the tracks matched by `track_regex`.")
.description("Print stuff");
parser.addArgument("--nlines", "-n").help("Print up to this many lines, default 10. No limit if < 0.").type(Integer.class).setDefault(10);
parser.addArgument("--full", "-full").help("Print full linesa dn wrap them if wider than the screen.").action(Arguments.storeTrue());
parser.addArgument("--clip", "-clip").help("Clip lines longer than the screen width. This is the default.")
.action(Arguments.storeTrue());
parser.addArgument("--off", "-off").help("Turn off printing.").action(Arguments.storeTrue());
parser.addArgument("--invert", "-v").help("Invert selection: apply changes to the tracks not selected by list of track_regex.").action(Arguments.storeTrue());
parser.addArgument("track_regex").nargs("*").setDefault( new String[] {".*"} );
parser.addArgument("--brief").action(Arguments.version());
// ----------------------------------
return argMap;
}
代码示例来源:origin: io.github.jiri-meluzin/io.github.jiri-meluzin.tibcobwutils.earcomparer
public static void main(String[] args) {
ArgumentParser argParser = ArgumentParsers.newArgumentParser("Tibco passwords de/encryptor", true, "-")
.description("Encrypts or decrypts Tibco password from fullConfigs");
argParser.addArgument("-action").choices(ENCRYPT, DECRYPT).required(true).help("What to do - encrypt or decrypt. Ex: decrypt");
argParser.addArgument("-password").type(String.class).required(true).help("Password string to be encrypted or decrypted. Ex: #!St7Uzipt4y6Od6iTLGNtwSUiLk00LuMB");
Namespace res = argParser.parseArgsOrFail(args);
String action = res.getString("action");
String password = res.getString("password");
switch (action) {
case ENCRYPT: System.out.println(new PasswordDecrypter().encrypt(password));
break;
case DECRYPT: System.out.println(new PasswordDecrypter().decrypt(password));
break;
}
}
}
代码示例来源:origin: stanford-futuredata/macrobase
public static void main(String... args) throws IOException {
ArgumentParser parser = ArgumentParsers.newFor("MacroBase SQL").build()
.defaultHelp(true)
.description("Run MacroBase SQL.");
parser.addArgument("-f", "--file").help("Load file with SQL queries to execute");
parser.addArgument("-p", "--paging").type(Arguments.booleanType()).setDefault(false)
.help("Turn on paging of results for SQL queries");
final Namespace parsedArgs = parser.parseArgsOrFail(args);
final MacroBaseSQLRepl repl = new MacroBaseSQLRepl(parsedArgs.get("paging"));
final String asciiArt = Resources
.toString(Resources.getResource(ASCII_ART_FILE), Charsets.UTF_8);
boolean printedWelcome = false;
if (parsedArgs.get("file") != null) {
System.out.println(asciiArt);
printedWelcome = true;
final String queriesFromFile = Files
.toString(new File((String) parsedArgs.get("file")), Charsets.UTF_8);
repl.executeQueries(queriesFromFile, true);
}
if (!printedWelcome) {
System.out.println(asciiArt);
}
repl.runRepl();
}
}
内容来源于网络,如有侵权,请联系作者删除!