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
인수는 해당 개체의 전체 클래스 이름 또는 ':'로 구분된 해당 OptionClass
별칭 값을 사용하여 단일 개체 내의 Option
필드를 고유하게 참조하도록 네임스페이스가 지정될 수 있습니다. 즉 --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"는 별도로 해석됨). "예"와 "아니오"를 "참"과 "거짓"의 동의어로 사용할 수 있습니다. "-"로 시작하지 않고 이전 옵션의 필수 인수가 아닌 각 문자열은 모든 연속 문자열과 마찬가지로 옵션이 아닌 위치 인수입니다. "--" 뒤의 각 문자열은 옵션이 아닌 위치 인수입니다. 옵션이 처리되면 옵션에 해당하는 필드가 업데이트됩니다. 나머지 위치 인수는 모두 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) 매뉴얼 페이지
- Python의 "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) 생성자에 제공된 'optionSource'의 @Option 필드를 설정하여 명령줄 인수 'args'를 구문 분석합니다. | |
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 ()
기본값을 변경하지 않은 옵션 집합을 반환합니다.
보고 | |
---|---|
getOptionHelp
public static String getOptionHelp (boolean importantOnly, Object optionObject)
의 모든 Option
필드에 대한 도움말 텍스트 출력 옵션객체 .
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]형식입니다. 옵션 필드가 null이거나 비어 있으면 'Default...' 텍스트가 생략됩니다.
매개변수 | |
---|---|
importantOnly | boolean : true 이면 중요한 옵션에 대한 도움말만 인쇄합니다. |
optionObject | Object : 도움말 텍스트를 출력할 객체 |
보고 | |
---|---|
String | 모든 옵션 필드에 대한 사용자 친화적인 도움말 텍스트를 포함하는 문자열 |
구문 분석
publicparse (String... args)
생성자에 제공된 'optionSource'의 @Option 필드를 설정하여 명령줄 인수 'args'를 구문 분석합니다.
매개변수 | |
---|---|
args | String |
보고 | |
---|---|
모든 옵션을 처리하고 남은 위치 인수의 ERROR(/List) . |
던지기 | |
---|---|
ConfigurationException | 오류가 발생한 경우 인수를 구문 분석합니다. |
구문 분석
publicparse ( args)
인수의 ERROR(/List)
사용하는 대체 parse(String)
메서드
매개변수 | |
---|---|
args |
보고 | |
---|---|
모든 옵션을 처리하고 남은 위치 인수의 ERROR(/List) . |
던지기 | |
---|---|
ConfigurationException | 오류가 발생한 경우 인수를 구문 분석합니다. |
구문 분석 BestEffort
publicparseBestEffort ( args)
인수의 ERROR(/List)
사용하는 대체 parseBestEffort(String)
메서드
매개변수 | |
---|---|
args |
보고 | |
---|---|
남은 인수의 ERROR(/List) |
구문 분석 BestEffort
publicparseBestEffort ( args, boolean forceContinue)
인수의 ERROR(/List)
사용하고 일부 인수가 구문 분석하지 않는 경우에도 끝까지 구문 분석을 계속하도록 강제할 수 있는 대체 parseBestEffort(String)
메서드입니다.
매개변수 | |
---|---|
args | |
forceContinue | boolean : 일부 인수가 구문 분석하지 않는 경우에도 구문 분석을 계속해야 하는 경우 True입니다. |
보고 | |
---|---|
남은 인수의 ERROR(/List) |
구문 분석 BestEffort
publicparseBestEffort (String... args)
parse(String)
의 최선의 버전입니다. ConfigurationException이 발생하면 해당 예외가 내부적으로 캡처되고 나머지 인수(예외 발생을 유발한 인수 포함)가 반환됩니다. 이 방법은 던지지 않습니다.
매개변수 | |
---|---|
args | String |
보고 | |
---|---|
남은 인수의 ERROR(/List) |
유효성 검사 필수 옵션
public void validateMandatoryOptions ()
필수로 표시된 모든 필드가 설정되었는지 확인합니다.
던지기 | |
---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException |