ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
java.lang.객체 | ||
↳ | com.android.tradefed.config.OptionSetter | |
↳ | com.android.tradefed.config.ArgsOptionParser |
채 웁니다의 Option
구문 분석 된 명령 행 인수의 필드.
Option
필드. 긴 옵션은 매핑 Option
이름 및 짧은 옵션에 매핑 Option
짧은 이름입니다. 각 옵션 이름과 옵션의 짧은 이름은 다른 모든에 대해 고유해야합니다 Option
같은 객체에서 필드. 하나의 옵션 인수는 여러 매핑 얻을 수있는 Option
여러 개체에서 동일한 이름을 가진 필드. Option
인수는 고유하게 참조하는 네임 스페이스 할 수 있습니다 Option
객체의 전체 클래스 이름이나 사용하여 하나의 객체에서 필드 OptionClass
별명 값으로 구분을 ':'. 즉 --classname:optionname optionvalue or --optionclassalias:optionname optionvalue.간단한 짧은 옵션은 "-" 다음에 짧은 옵션 문자가 오는 것입니다. 옵션에 인수가 필요한 경우(부울이 아닌 옵션에 해당) 별도의 매개변수로 작성될 수 있지만 반드시 그럴 필요는 없습니다. 즉, "-f out.txt" 및 "-fout.txt"가 모두 허용됩니다. 모든(마지막 가능성 제외)에 인수가 필요하지 않은 한 단일 "-" 뒤에 여러 개의 짧은 옵션을 지정할 수 있습니다. 긴 옵션은 "--"로 시작하고 그 뒤에 여러 문자가 옵니다. 옵션에 인수가 필요한 경우 옵션 이름 바로 뒤에 "="로 구분하여 작성하거나 다음 인수로 작성할 수 있습니다. (즉, "--file=out.txt" 또는 "--file out.txt"입니다.) 부울 긴 옵션 '--name'은 자동으로 '--no-name' 컴패니언을 가져옵니다. "--flag" 옵션이 주어지면 "--flag", "--no-flag", "--flag=true" 및 "--flag=false"는 모두 유효하지만 "--flag"는 모두 유효하지 않습니다. true" 또는 "--flag false"는 허용되지 않습니다("--flag"만으로도 충분하므로 다음 "true" 또는 "false"는 별도로 해석됩니다). "예"와 "아니요"를 "true"와 "false"의 동의어로 사용할 수 있습니다. "-"로 시작하지 않고 이전 옵션의 필수 인수가 아닌 각 문자열은 모든 연속 문자열과 마찬가지로 옵션이 아닌 위치 인수입니다. "--" 뒤의 각 문자열은 옵션이 아닌 위치 인수입니다. 옵션에 해당하는 필드는 옵션이 처리될 때 업데이트됩니다. 나머지 위치 인수는 List<String>으로 반환됩니다. 다음은 간단한 예입니다.
// Non-@Option fields will be ignored. class Options { @Option(name = "quiet", shortName = 'q') boolean quiet = false; // Here the user can use --no-color. @Option(name = "color") boolean color = true; @Option(name = "mode", shortName = 'm') String mode = "standard; // Supply a default just by setting the field. @Option(name = "port", shortName = 'p') int portNumber = 8888; // There's no need to offer a short name for rarely-used options. @Option(name = "timeout" ) double timeout = 1.0; @Option(name = "output-file", shortName = 'o' }) File output; // Multiple options are added to the collection. // The collection field itself must be non-null. @Option(name = "input-file", shortName = 'i') List<File> inputs = new ArrayList<File>(); } Options options = new Options(); List<String> posArgs = new OptionParser(options).parse("--input-file", "/tmp/file1.txt"); for (File inputFile : options.inputs) { if (!options.quiet) { ... } ... }참조 :
- getopt(1) 매뉴얼 페이지
- 파이썬의 "optparse" 모듈(http://docs.python.org/library/optparse.html)
- POSIX "유틸리티 구문 지침"(http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap12.html#tag_12_02)
- GNU "명령줄 인터페이스 표준"(http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)
또한보십시오:
요약
공개 생성자 | |
---|---|
ArgsOptionParser ( optionSources) ArgsOptionParser ( optionSources) 작성 | |
ArgsOptionParser (Object... optionSources) 작성 |
공개 메서드 | |
---|---|
getInopOptions () 기본값을 변경하지 않은 옵션 집합을 반환합니다. | |
static String | getOptionHelp (boolean importantOnly, Object optionObject) 모든 출력 도움말 텍스트 |
parse (String... args) 명령줄 인수 'args'를 구문 분석하여 생성자에 제공된 'optionSource'의 @Option 필드를 설정합니다. | |
parse ( args) parse ( args) 대체 | |
parseBestEffort ( args) parseBestEffort ( args) 대체 | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) 대체 | |
parseBestEffort (String... args) 의 최선의 노력 버전 | |
void | validateMandatoryOptions () 필수로 표시된 모든 필드가 설정되었는지 확인합니다. |
공개 생성자
ArgsOptionParser
public ArgsOptionParser (optionSources)
작성 ArgsOptionParser
개체의 컬렉션에 대한합니다.
매개변수 | |
---|---|
optionSources |
던지다 | |
---|---|
ConfigurationException | 구성 개체가 부적절하게 구성된 경우. |
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
작성 ArgsOptionParser
하나 이상의 개체에 대한.
매개변수 | |
---|---|
optionSources | Object 다음 설정은 객체. |
던지다 | |
---|---|
ConfigurationException | 구성 개체가 부적절하게 구성된 경우. |
공개 메서드
getInopOptions
publicgetInopOptions ()
기본값을 변경하지 않은 옵션 집합을 반환합니다.
보고 | |
---|---|
getOption도움말
public static String getOptionHelp (boolean importantOnly, Object optionObject)
모든 출력 도움말 텍스트 Option
의 필드 옵션객체 .
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]옵션 필드가 null 또는 빈 상태 (empty)의 경우, '기본 ... "텍스트는 생략한다.
매개변수 | |
---|---|
importantOnly | boolean 다음과 같은 경우 true 에만 중요한 옵션에 대한 도움말을 인쇄 |
optionObject | Object : 인쇄 도움말 텍스트에 개체에 대한 |
보고 | |
---|---|
String | 모든 옵션 필드에 대한 사용자 친화적인 도움말 텍스트를 포함하는 문자열 |
구문 분석
publicparse (String... args)
명령줄 인수 'args'를 구문 분석하여 생성자에 제공된 'optionSource'의 @Option 필드를 설정합니다.
매개변수 | |
---|---|
args | String |
보고 | |
---|---|
ERROR(/List) 위치 인수는 모든 옵션을 처리 한 후 남아. |
던지다 | |
---|---|
ConfigurationException | 인수 구문 분석 오류가 발생한 경우. |
구문 분석
publicparse ( args)
대체 parse(String)
걸리는 방법 ERROR(/List)
인수를
매개변수 | |
---|---|
args |
보고 | |
---|---|
ERROR(/List) 위치 인수는 모든 옵션을 처리 한 후 남아. |
던지다 | |
---|---|
ConfigurationException | 인수를 구문 분석하는 동안 오류가 발생한 경우. |
parseBestEffort
publicparseBestEffort ( args)
대체 parseBestEffort(String)
걸리는 방법 ERROR(/List)
인수를
매개변수 | |
---|---|
args |
보고 | |
---|---|
ERROR(/List) 오버 왼쪽 인수 |
parseBestEffort
publicparseBestEffort ( args, boolean forceContinue)
대체 parseBestEffort(String)
걸리는 방법 ERROR(/List)
인수를, 일부 인수는 구문 분석하지 않더라도,이 끝날 때까지 구문 분석을 계속하도록 강요 할 수 있습니다.
매개변수 | |
---|---|
args | |
forceContinue | boolean : 그것은 일부 인수는 구문 분석하지 않는 경우에도 구문 분석을 계속해야하는 경우 참. |
보고 | |
---|---|
ERROR(/List) 오버 왼쪽 인수 |
parseBestEffort
publicparseBestEffort (String... args)
의 최선의 노력 버전 parse(String)
. ConfigurationException이 발생하면 해당 예외가 내부적으로 캡처되고 나머지 인수(예외를 발생시킨 인수 포함)가 반환됩니다. 이 메서드는 던지지 않습니다.
매개변수 | |
---|---|
args | String |
보고 | |
---|---|
ERROR(/List) 오버 왼쪽 인수 |
validateMandatoryOptions
public void validateMandatoryOptions ()
필수로 표시된 모든 필드가 설정되었는지 확인합니다.
던지다 | |
---|---|
ConfigurationException |