ArgsOptionParser

public class ArgsOptionParser
extends OptionSetter

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


Ayrıştırılmış komut satırı bağımsız değişkenlerinden Option alanlarını doldurur.

Geçirilen String[] içindeki dizeler soldan sağa ayrıştırılır. Her Dize kısa bir seçenek ("-v" gibi), uzun bir seçenek ("--verbose" gibi), bir seçeneğin bağımsız değişkeni ("-f out.txt" içindeki "out.txt" gibi) olarak sınıflandırılır. ") veya seçenek dışı bir konumsal bağımsız değişken.

Her seçenek bağımsız değişkeni, bir veya daha fazla Option alanıyla eşlenmelidir. Uzun bir seçenek, Option adına ve kısa bir seçenek, Option kısa adına eşlenir. Her seçenek adı ve seçenek kısa adı, aynı nesne içindeki diğer tüm Option alanlarına göre benzersiz olmalıdır.

Tek bir seçenek bağımsız değişkeni, birden çok nesnede aynı ada sahip birden çok Option alanına eşlenebilir. Option bağımsız değişkenleri, o nesnenin tam sınıf adı veya ':' ile ayrılmış OptionClass diğer adı kullanılarak tek bir nesne içindeki bir Option alanına benzersiz bir şekilde başvurmak için ad alanına yerleştirilebilir. yani

 --classname:optionname optionvalue or
 --optionclassalias:optionname optionvalue.
 

Basit bir kısa seçenek, bir "-" ve ardından bir kısa seçenek karakteridir. Seçenek bir bağımsız değişken gerektiriyorsa (bu, boolean olmayan herhangi bir seçenek için geçerlidir), ayrı bir parametre olarak yazılabilir, ancak yazılmasına gerek yoktur. Yani, hem "-f out.txt" hem de "-fout.txt" kabul edilebilir.

Hepsi (muhtemelen sonuncusu hariç) bağımsız değişken gerektirmediği sürece, tek bir "-" işaretinden sonra birden çok kısa seçenek belirtmek mümkündür.

Uzun bir seçenek "--" ile başlar ve ardından birkaç karakter gelir. Seçenek bir bağımsız değişken gerektiriyorsa, seçenek adından hemen sonra "=" ile ayrılarak veya bir sonraki bağımsız değişken olarak yazılabilir. (Yani, "--file=out.txt" veya "--fileout.txt".)

Bir boole uzun seçeneği olan '--name', otomatik olarak bir '--no-name' tamamlayıcısı alır. Bir "--flag" seçeneği verildiğinde, "--flag", "--no-flag", "--flag=true" ve "--flag=false" seçeneklerinin tümü geçerlidir, ancak hiçbiri "--flag true" veya "--flag false" ifadelerine izin verilir ("--flag" tek başına yeterli olduğundan, aşağıdaki "true" veya "false" ayrı ayrı yorumlanır). "Evet" ve "hayır"ı "doğru" ve "yanlış"ın eşanlamlısı olarak kullanabilirsiniz.

Bir "-" ile başlamayan ve önceki bir seçeneğin gerekli argümanı olmayan her Dize, ardışık tüm Dizeler gibi, seçenek dışı bir konumsal argümandır. Bir "--"den sonraki her Dize, seçenek dışı bir konumsal argümandır.

Seçeneklere karşılık gelen alanlar, seçenekler işlendikçe güncellenir. Kalan tüm konumsal bağımsız değişkenler bir List<String> olarak döndürülür.

İşte basit bir örnek:

 // 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) {
        ...
     }
     ...

 }

 
Ayrıca bakınız:
  • getopt(1) kılavuz sayfası
  • Python'un "optparse" modülü (http://docs.python.org/library/optparse.html)
  • POSIX "Yardımcı Program Söz Dizimi Yönergeleri" (http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap12.html#tag_12_02)
  • GNU "Komut Satırı Arayüzleri için Standartlar" (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)

Ayrıca bakınız:

Özet

kamu inşaatçılar

ArgsOptionParser ( optionSources) ArgsOptionParser ( optionSources)

Bir nesne koleksiyonu için bir ArgsOptionParser oluşturur.

ArgsOptionParser (Object... optionSources)

Bir veya daha fazla nesne için bir ArgsOptionParser oluşturur.

Genel yöntemler

getInopOptions ()

Herhangi bir varsayılan değeri değiştirmeyen seçenekler kümesini döndürür.

static String getOptionHelp (boolean importantOnly, Object optionObject)

İçindeki tüm Option alanları için yardım metninin çıktısını alın seçenekNesne .

parse (String... args)

Yapıcıya sağlanan 'optionSource'un @Option alanlarını ayarlayarak 'args' komut satırı argümanlarını ayrıştırır.

parse ( args) parse ( args)

Bir ERROR(/List) argüman alan alternatif parse(String) yöntemi

parseBestEffort ( args) parseBestEffort ( args)

ERROR(/List) argüman alan alternatif parseBestEffort(String) yöntemi

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

ERROR(/List) bağımsız değişken alan ve bazı bağımsız değişkenler ayrıştırmasa bile ayrıştırmaya sonuna kadar devam etmeye zorlanabilen alternatif parseBestEffort(String) yöntemi.

parseBestEffort (String... args)

parse(String) öğesinin en iyi çabaya sahip sürümü.

void validateMandatoryOptions ()

Zorunlu olarak işaretlenen tüm alanların ayarlandığını doğrular.

kamu inşaatçılar

ArgsOptionParser

public ArgsOptionParser ( optionSources)

Bir nesne koleksiyonu için bir ArgsOptionParser oluşturur.

parametreler
optionSources : yapılandırma nesneleri.

Atar
ConfigurationException yapılandırma nesneleri yanlış yapılandırılmışsa.

ArgsOptionParser

public ArgsOptionParser (Object... optionSources)

Bir veya daha fazla nesne için bir ArgsOptionParser oluşturur.

parametreler
optionSources Object : yapılandırma nesneleri.

Atar
ConfigurationException yapılandırma nesneleri yanlış yapılandırılmışsa.

Genel yöntemler

getInopOptions

public  getInopOptions ()

Herhangi bir varsayılan değeri değiştirmeyen seçenekler kümesini döndürür.

İadeler

getOptionYardım

public static String getOptionHelp (boolean importantOnly, 
                Object optionObject)

İçindeki tüm Option alanları için yardım metninin çıktısını alın seçenekNesne .

Her seçenek için yardım metni

   [-option_shortname, --option_name]          [option_description] Default:
   [current option field's value in optionObject]
 
biçiminde olacaktır. Seçenek alanı boş veya boşsa 'Varsayılan..." metni çıkarılacaktır.

parametreler
importantOnly boolean : true ise, yalnızca önemli seçenekler için yardım yazdır

optionObject Object : Yardım metninin yazdırılacağı nesne

İadeler
String tüm Seçenek alanları için kullanıcı dostu yardım metni içeren bir Dize

ayrıştırmak

public  parse (String... args)

Yapıcıya sağlanan 'optionSource'un @Option alanlarını ayarlayarak 'args' komut satırı argümanlarını ayrıştırır.

parametreler
args String

İadeler
tüm seçenekleri işledikten sonra kalan konumsal bağımsız değişkenlerin bir ERROR(/List) .

Atar
ConfigurationException bağımsız değişkenler ayrıştırılırken hata oluştuysa.

ayrıştırmak

public  parse ( args)

Bir ERROR(/List) argüman alan alternatif parse(String) yöntemi

parametreler
args

İadeler
tüm seçenekleri işledikten sonra kalan konumsal bağımsız değişkenlerin bir ERROR(/List) .

Atar
ConfigurationException bağımsız değişkenler ayrıştırılırken hata oluştuysa.

ayrıştırmakBestEffort

public  parseBestEffort ( args)

ERROR(/List) argüman alan alternatif parseBestEffort(String) yöntemi

parametreler
args

İadeler
soldaki bağımsız değişkenlerin bir ERROR(/List)

ayrıştırmakBestEffort

public  parseBestEffort ( args, 
                boolean forceContinue)

ERROR(/List) bağımsız değişken alan ve bazı bağımsız değişkenler ayrıştırmasa bile ayrıştırmaya sonuna kadar devam etmeye zorlanabilen alternatif parseBestEffort(String) yöntemi.

parametreler
args : soldaki bağımsız değişkenleri içerecek liste.

forceContinue boolean : Bazı bağımsız değişkenler ayrıştırmasa bile ayrıştırmaya devam etmesi gerekiyorsa doğrudur.

İadeler
soldaki bağımsız değişkenlerin bir ERROR(/List)

ayrıştırmakBestEffort

public  parseBestEffort (String... args)

parse(String) öğesinin en iyi çabaya sahip sürümü. Bir ConfigurationException atılırsa, bu istisna dahili olarak yakalanır ve kalan argümanlar (istisnanın atılmasına neden olan argüman dahil) döndürülür. Bu yöntem fırlatmaz.

parametreler
args String

İadeler
soldaki bağımsız değişkenlerin bir ERROR(/List)

doğrulamaZorunluSeçenekler

public void validateMandatoryOptions ()

Zorunlu olarak işaretlenen tüm alanların ayarlandığını doğrular.

Atar
com.android.tradefed.config.ConfigurationException
ConfigurationException