コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

ArgsOptionParser

public class ArgsOptionParser
extends OptionSetter

java.lang.Object
com.android.tradefed.config.OptionSetter
com.android.tradefed.config.ArgsOptionParser


移入のOption解析されたコマンドライン引数のフィールド。

渡されたString []内の文字列は、左から右に解析されます。各文字列は、短いオプション( "-v"など)、長いオプション( "--verbose"など)、オプションへの引数( "-fout.txtの" out.txt "など)として分類されます。 ")、またはオプション以外の位置引数。

各オプションの引数には、一の以上にマップする必要があります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オブジェクトのコレクションのために。

ArgsOptionParser (Object... optionSources)

作成ArgsOptionParser 1つまたは複数のオブジェクトのために。

パブリックメソッド

getInopOptions ()

デフォルト値を変更しなかったオプションのセットを返します。

static String getOptionHelp (boolean importantOnly, Object optionObject)

すべてのための出力ヘルプテキストOptionのフィールドoptionObject 。

parse (String... args)

コマンドライン引数「args」を解析し、コンストラクターに提供される「optionSource」の@Optionフィールドを設定します。

parse ( args) parse ( args)

代替parse(String)取る方法ERROR(/List)の引数を

parseBestEffort ( args) parseBestEffort ( args)

代替parseBestEffort(String)取る方法ERROR(/List)の引数を

parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue)

代替parseBestEffort(String)取る方法ERROR(/List)引数のを、そしていくつかの引数を解析していない場合でも、最後まで構文解析を継続するように強制することができます。

parseBestEffort (String... args)

ベストエフォート型のバージョンparse(String)

void validateMandatoryOptions ()

必須としてマークされたすべてのフィールドが設定されていることを検証します。

パブリックコンストラクター

ArgsOptionParser

public ArgsOptionParser ( optionSources)

作成しArgsOptionParserオブジェクトのコレクションのために。

パラメーター
optionSources :構成オブジェクト。

投げる
ConfigurationException構成オブジェクトが正しく構成されていない場合。

ArgsOptionParser

public ArgsOptionParser (Object... optionSources)

作成ArgsOptionParser 1つまたは複数のオブジェクトのために。

パラメーター
optionSources Object :設定オブジェクト。

投げる
ConfigurationException構成オブジェクトが正しく構成されていない場合。

パブリックメソッド

getInopOptions

public  getInopOptions ()

デフォルト値を変更しなかったオプションのセットを返します。

戻り値

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すべてのオプションフィールドのユーザーフレンドリーなヘルプテキストを含む文字列

解析する

public  parse (String... args)

コマンドライン引数「args」を解析し、コンストラクターに提供される「optionSource」の@Optionフィールドを設定します。

パラメーター
args String

戻り値
ERROR(/List)位置引数のは、すべてのオプションを処理した後に残りました。

投げる
ConfigurationException引数の解析でエラーが発生した場合。

解析する

public  parse ( args)

代替parse(String)取る方法ERROR(/List)の引数を

パラメーター
args

戻り値
ERROR(/List)位置引数のは、すべてのオプションを処理した後に残りました。

投げる
ConfigurationException引数の解析でエラーが発生した場合。

parseBestEffort

public  parseBestEffort ( args)

代替parseBestEffort(String)取る方法ERROR(/List)の引数を

パラメーター
args

戻り値
ERROR(/List)残された引数の

parseBestEffort

public  parseBestEffort ( args, 
                boolean forceContinue)

代替parseBestEffort(String)取る方法ERROR(/List)引数のを、そしていくつかの引数を解析していない場合でも、最後まで構文解析を継続するように強制することができます。

パラメーター
args :残りの引数を含むリスト。

forceContinue boolean :それはいくつかの引数を解析していない場合でも、解析を継続すべきである場合はTrue。

戻り値
ERROR(/List)残された引数の

parseBestEffort

public  parseBestEffort (String... args)

ベストエフォート型のバージョンparse(String) 。 ConfigurationExceptionがスローされた場合、その例外は内部でキャプチャされ、残りの引数(例外がスローされる原因となった引数を含む)が返されます。このメソッドはスローしません。

パラメーター
args String

戻り値
ERROR(/List)残された引数の

validateMandatoryOptions

public void validateMandatoryOptions ()

必須としてマークされたすべてのフィールドが設定されていることを検証します。

投げる
ConfigurationException