ArgsOption Ayrıştırıcı

public class ArgsOptionParser
extends OptionSetter

Java.lang.Nesne
🎃 com.android.tradefed.config.OptionSetter
  🎃 com.android.tradefed.config.ArgsOptionParser


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

İletilen Dize[] içindeki dizeler soldan sağa doğru ayrıştırılır. Her bir Dize kısa seçenek ("-v" gibi), uzun bir seçenek ("--ayrıntılı" gibi), bir seçeneğin bağımsız değişkeni (ör. "out.txt" "-f out.txt") veya isteğe bağlı olmayan bir konum bağımsız değişkeni kullanın.

Her seçenek bağımsız değişkeni bir veya daha fazla Option alanıyla eşlenmelidir. Uzun bir seçenek, Option adı ve kısa bir seçenek, Option kısa ada karşılık geliyor. Her bir seçeneğin adı ve seçenek kısa adı, diğer tüm seçeneklere kıyasla benzersiz olmalıdır Aynı nesne içinde Option alanı var.

Tek bir seçenek bağımsız değişkeni, aynı ada sahip birden fazla Option alanıyla eşlenebilir birden fazla nesnede birleştirin. Option bağımsız değişkenleri, bir Option alanına, bu nesnenin tam sınıf adını veya ":" ile ayrılmış OptionClass takma ad değeri. ör.

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

Basit bir kısa seçenek, "-" ve ardından kısa bir seçenek karakteri gelir. Seçenek, bağımsız değişkeni (boole olmayan herhangi bir seçenek için geçerlidir) bağımsız bir parametre olarak ancak şart değildir. Yani, "-f out.txt" ve "-fout.txt" kabul edilebilir.

Tek bir "-" işaretinden sonra birden çok kısa seçenek belirtilebilir olduğu sürece ( ikincisi) bağımsız değişken gerekmez.

Uzun bir seçenek "--" ile başlar ve ardından birkaç karakter gelir. Seçenek, bağımsız değişkeni, doğrudan seçenek adından sonra, "=" ile ayrılmış olarak veya bağımsız değişkeninin önüne geçer. (Yani, "--file=out.txt" veya "--file out.txt".)

Uzun bir boole seçeneği olan "--name" otomatik olarak bir '--no-name' alır yardımcı olur. Bir seçenek sunuluyorsa "--flag", ardından, "--flag", "--no-flag", "--flag=true", ve "--flag=false" hepsi geçerlidir ancak "--flag true" yok veya "--flag false" izin verilir ("--flag" tek başına yeterli olduğundan "true" ifadesinden sonra veya "false" ayrı yorumlanır). "Evet" yazabilirsiniz. ve "no" eş anlamlılar olarak "true" (doğru) için ve "false" olarak ayarlayın.

Her Dize "-" ile başlamıyor ve önceki seçeneğin zorunlu bir bağımsız değişkeni değil, ve sonraki tüm Dizeler için olduğu gibi, isteğe bağlı olmayan konumsal bağımsız değişkendir. "--" işaretinden sonra gelen her Dize bir isteğe bağlı olmayan konumsal bağımsız değişkendir.

Seçeneklere karşılık gelen alanlar, seçenekler işlendikçe güncellenir. Kalanların sayısı konum bağımsız değişkenleri List<String> olarak döndürülür.

Aşağıda basit bir örnek verilmiştir:

 // 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 bkz.:
  • 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 Standartları" (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)

Şu kaynakları da inceleyin:

Özet

Kamu inşaatçıları

ArgsOptionParser( optionSources)

Nesne koleksiyonu için bir ArgsOptionParser oluşturur.

ArgsOptionParser(Object... optionSources)

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

Herkese açık yöntemler

getInopOptions()

Varsayılan değerleri değiştirmeyen seçenekler grubunu döndürür.

static String getOptionHelp(boolean importantOnly, Object optionObject)

optionObject.Option

parse(String... args)

"optionSource"un @Option alanlarını ayarlayarak "args" komut satırı bağımsız değişkenlerini ayrıştırır yapılandırıcıya verilir.

parse( args)

ERROR(/List) bağımsız değişken alan alternatif parse(String) yöntemi

parseBestEffort( args)

ERROR(/List) oranında alan alternatif parseBestEffort(String) yöntemi bağımsız değişkenler

parseBestEffort( args, boolean forceContinue)

ERROR(/List) oranında alan alternatif parseBestEffort(String) yöntemi ve bazı bağımsız değişkenlerin tamamı bu bağımsız değişkenlerin kapsamında olmasa bile, ayrıştırır.

parseBestEffort(String... args)

parse(String) ürününün en iyi çaba sürümü.

void validateMandatoryOptions()

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

Kamu inşaatçıları

ArgsOption Ayrıştırıcı

public ArgsOptionParser ( optionSources)

Nesne koleksiyonu için bir ArgsOptionParser oluşturur.

Parametreler
optionSources : yapılandırma nesneleri.

Fırlatma
ConfigurationException yapılandırma nesneleri doğru yapılandırılmamış olabilir.

ArgsOption Ayrıştırıcı

public ArgsOptionParser (Object... optionSources)

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

Parametreler
optionSources Object: yapılandırma nesneleri.

Fırlatma
ConfigurationException yapılandırma nesneleri doğru yapılandırılmamış olabilir.

Herkese açık yöntemler

getInopOptions

public  getInopOptions ()

Varsayılan değerleri değiştirmeyen seçenekler grubunu döndürür.

İlerlemeler

getOptionYardımı

public static String getOptionHelp (boolean importantOnly, 
                Object optionObject)

optionObject.Option

Her seçenek için yardım metni aşağıdaki biçimde olacaktır

   [-option_shortname, --option_name]          [option_description] Default:
   [current option field's value in optionObject]
 
"Varsayılan..." seçenek alanı null veya boş ise metin atlanır.

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

optionObject Object: İlgili yardım metninin yazdırılacağı nesne

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

ayrıştır

public  parse (String... args)

"optionSource"un @Option alanlarını ayarlayarak "args" komut satırı bağımsız değişkenlerini ayrıştırır yapılandırıcıya verilir.

Parametreler
args String

İlerlemeler
Tüm seçenekler işlendikten sonra kalan konum bağımsız değişkenlerinin ERROR(/List) kadarı.

Fırlatma
ConfigurationException bağımsız değişkenlerin ayrıştırılmasında hata oluştu.

ayrıştır

public  parse ( args)

ERROR(/List) bağımsız değişken alan alternatif parse(String) yöntemi

Parametreler
args

İlerlemeler
Tüm seçenekler işlendikten sonra kalan konum bağımsız değişkenlerinin ERROR(/List) kadarı.

Fırlatma
ConfigurationException bağımsız değişkenlerin ayrıştırılmasında hata oluştu.

ayrıştırma

public  parseBestEffort ( args)

ERROR(/List) oranında alan alternatif parseBestEffort(String) yöntemi bağımsız değişkenler

Parametreler
args

İlerlemeler
kalan bağımsız değişkenlerin ERROR(/List) kadarı

ayrıştırma

public  parseBestEffort ( args, 
                boolean forceContinue)

ERROR(/List) oranında alan alternatif parseBestEffort(String) yöntemi ve bazı bağımsız değişkenlerin tamamı bu bağımsız değişkenlerin kapsamında olmasa bile, ayrıştırır.

Parametreler
args : sol bağımsız değişkenleri içeren liste.

forceContinue boolean: Bazı bağımsız değişkenler ayrıştırılmasa bile ayrıştırmaya devam etmesi gerekiyorsa doğru değerini döndürür.

İlerlemeler
kalan bağımsız değişkenlerin ERROR(/List) kadarı

ayrıştırEnEffort

public  parseBestEffort (String... args)

parse(String) ürününün en iyi çaba sürümü. ConfigurationException bu istisna dahili olarak yakalanır ve geri kalan bağımsız değişkenler ( bağımsız değişkeni) döndürülür. Bu yöntem işe yaramaz.

Parametreler
args String

İlerlemeler
kalan bağımsız değişkenlerin ERROR(/List) kadarı

VerifyMandatoryOptions

public void validateMandatoryOptions ()

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

Fırlatma
com.android.tradefed.config.ConfigurationException
ConfigurationException