ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
java.lang.Object | ||
↳ | com.android.tradefed.config.OptionSetter | |
↳ | com.android.tradefed.config.ArgsOptionParser |
移入のOption
解析されたコマンドライン引数のフィールド。
Option
フィールド。長いオプションはにマップするOption
名、および短いオプションがにマップOption
短い名前。各オプション名とオプションの短い名前は、他のすべてに対して一意でなければなりませんOption
同じオブジェクト内のフィールド。 1つのオプションの引数は複数にマッピングされ得ることができますOption
複数のオブジェクト間で同じ名前を持つフィールド。 Option
の引数を一意に参照するために名前空間することができますOption
、そのオブジェクトの完全なクラス名またはその使用して、単一のオブジェクト内のフィールドOptionClass
別名値が区切らを「:」。すなわち --classname:optionname optionvalue or --optionclassalias:optionname optionvalue.単純な短いオプションは、「-」の後に短いオプション文字が続きます。オプションに引数が必要な場合(ブール値以外のオプションに当てはまります)、別のパラメーターとして記述できますが、そうである必要はありません。つまり、「-fout.txt」と「-fout.txt」はどちらも使用できます。すべて(おそらく最後を除く)が引数を必要としない限り、単一の「-」の後に複数の短いオプションを指定することができます。長いオプションは「-」で始まり、その後にいくつかの文字が続きます。オプションに引数が必要な場合は、オプション名の直後に「=」で区切って、または次の引数として記述できます。 (つまり、「-file = out.txt」または「--fileout.txt」です。)ブールロングオプション '--name'は、自動的に '--no-name'コンパニオンを取得します。オプション「--flag」を指定すると、「-flag」、「-no-flag」、「-flag = true」、「-flag = false」はすべて有効ですが、「-flag」はどちらも有効ではありません。 true」または「--flagfalse」が許可されます(「--flag」自体で十分であるため、次の「true」または「false」は別々に解釈されます)。 「true」と「false」の同義語として「yes」と「no」を使用できます。 「-」で始まらず、前のオプションの必須引数でもない各文字列は、後続のすべての文字列と同様に、オプション以外の位置引数です。 「-」の後の各文字列は、オプションではない位置引数です。オプションに対応するフィールドは、オプションが処理されると更新されます。残りの位置引数は、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) コマンドライン引数「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
1つまたは複数のオブジェクトのために。
パラメーター | |
---|---|
optionSources | Object :設定オブジェクト。 |
投げる | |
---|---|
ConfigurationException | 構成オブジェクトが正しく構成されていない場合。 |
パブリックメソッド
getInopOptions
publicgetInopOptions ()
デフォルト値を変更しなかったオプションのセットを返します。
戻り値 | |
---|---|
getOptionHelp
public static String getOptionHelp (boolean importantOnly, Object optionObject)
すべてのための出力ヘルプテキストOption
のフィールドoptionObject 。
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]オプションフィールドがnullまたは空の場合は「デフォルト...」テキストが省略されます。
パラメーター | |
---|---|
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 :それはいくつかの引数を解析していない場合でも、解析を継続すべきである場合はTrue。 |
戻り値 | |
---|---|
ERROR(/List) 残された引数の |
parseBestEffort
publicparseBestEffort (String... args)
ベストエフォート型のバージョンparse(String)
。 ConfigurationExceptionがスローされた場合、その例外は内部でキャプチャされ、残りの引数(例外がスローされる原因となった引数を含む)が返されます。このメソッドはスローしません。
パラメーター | |
---|---|
args | String |
戻り値 | |
---|---|
ERROR(/List) 残された引数の |
validateMandatoryOptions
public void validateMandatoryOptions ()
必須としてマークされたすべてのフィールドが設定されていることを検証します。
投げる | |
---|---|
ConfigurationException |