ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
java.lang.Nesne | ||
↳ | com.android.tradefed.config.OptionSetter | |
↳ | com.android.tradefed.config.ArgsOptionParser |
Olarak doldurulur Option
çözümlü komut satırı argümanları gelen alanlar.
Option
alanları. Uzun bir seçenek eşleştiren Option
adı ve kısa bir seçenek eşleştiren Option
kısa adı. Her seçenek adı ve opsiyon kısa adı tüm diğerine göre farklı olmalıdır Option
aynı nesnenin içindeki alanlara. Tek seçenek argümanı birden eşleştirilmiş alabilirsiniz Option
birden çok nesneye aynı isimde alanlar. Option
argümanlar benzersiz bir atıfta alanlı olabilir Option
bu nesnenin tam sınıf adı veya kullanarak tek bir nesne içindeki alan OptionClass
takma değeri ile ayrılan ':'. yani --classname:optionname optionvalue or --optionclassalias:optionname optionvalue.Basit bir kısa seçenek "-" ve ardından kısa bir seçenek karakteridir. Seçenek bir argüman gerektiriyorsa (bu, boolean olmayan herhangi bir seçenek için doğrudur), ayrı bir parametre olarak yazılabilir, ancak olması gerekmez. Yani, "-f out.txt" ve "-fout.txt" her ikisi de kabul edilebilir. Tümü (muhtemelen sonuncusu hariç) bağımsız değişken gerektirmediği sürece, tek bir "-"den 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 argüman gerektiriyorsa, doğrudan seçenek adından sonra, "=" ile ayrılarak veya bir sonraki argüman olarak yazılabilir. (Yani, "--file=out.txt" veya "--file out.txt".) Boolean uzun bir seçenek olan '--name' otomatik olarak bir '--isimsiz' eşlikçisi alır. "--flag" seçeneği verildiğinde, "--flag", "--no-flag", "--flag=true" ve "--flag=false" hepsi geçerlidir, ancak hiçbiri "--flag" değildir. true" veya "--flag false" kullanımına izin verilir ("--flag" tek başına yeterli olduğundan, aşağıdaki "true" veya "false" ayrı olarak yorumlanır). "Evet" ve "hayır" kelimelerini "doğru" ve "yanlış" ile eşanlamlı olarak kullanabilirsiniz. Bir "-" ile başlamayan ve önceki bir seçeneğin gerekli argümanı olmayan her Dize, tüm ardışık Dizeler gibi, seçenek olmayan bir konumsal argümandır. Bir "--"den sonraki her Dize, isteğe bağlı olmayan bir konumsal argümandır. Seçeneklere karşılık gelen alanlar, seçenekleri işlenirken güncellenir. Kalan 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özdizimi 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 oluşturur | |
ArgsOptionParser (Object... optionSources) Bir 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) Herkes için Çıktı yardım metni |
parse (String... args) Yapıcıya sağlanan 'optionSource'un @Option alanlarını ayarlayarak 'args' komut satırı bağımsız değişkenlerini ayrıştırır. | |
parse ( args) parse ( args) Alternatif | |
parseBestEffort ( args) parseBestEffort ( args) Alternatif | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) Alternatif | |
parseBestEffort (String... args) Bir çabayı gösterme versiyonu | |
void | validateMandatoryOptions () Zorunlu olarak işaretlenen tüm alanların ayarlandığını doğrular. |
Kamu inşaatçıları
ArgsOptionParser
public ArgsOptionParser (optionSources)
Bir oluşturur ArgsOptionParser
nesnelerinin bir koleksiyonu için.
parametreler | |
---|---|
optionSources |
atar | |
---|---|
ConfigurationException | yapılandırma nesneleri yanlış yapılandırılmışsa. |
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
Bir oluşturur ArgsOptionParser
bir ya da daha fazla nesne için.
parametreler | |
---|---|
optionSources | Object : config nesneleri. |
atar | |
---|---|
ConfigurationException | config nesneleri yanlış yapılandırılmışsa. |
Genel yöntemler
getInopOptions
publicgetInopOptions ()
Herhangi bir varsayılan değeri değiştirmeyen seçenekler kümesini döndürür.
İadeler | |
---|---|
getOptionHelp
public static String getOptionHelp (boolean importantOnly, Object optionObject)
Herkes için Çıktı yardım metni Option
alanlara seçeneknesne .
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]opsiyon alan null veya boş olup olmadığını 'Varsayılan ..." Metin ihmal edilecektir.
parametreler | |
---|---|
importantOnly | boolean : eğer true sadece önemli seçenekler için yardım yazdırmak |
optionObject | Object : Baskı yardım metne nesne için |
İadeler | |
---|---|
String | Tüm Seçenek alanları için kullanıcı dostu yardım metni içeren bir Dize |
ayrıştırmak
publicparse (String... args)
Yapıcıya sağlanan 'optionSource'un @Option alanlarını ayarlayarak 'args' komut satırı bağımsız değişkenlerini ayrıştırır.
parametreler | |
---|---|
args | String |
İadeler | |
---|---|
Bir ERROR(/List) pozisyonel tartışmaların tüm seçenekleri işlendikten sonra arta kalan. |
atar | |
---|---|
ConfigurationException | argümanlar ayrıştırılırken hata oluştuysa. |
ayrıştırmak
publicparse ( args)
Alternatif parse(String)
bir alan yöntem ERROR(/List)
argümanların
parametreler | |
---|---|
args |
İadeler | |
---|---|
Bir ERROR(/List) pozisyonel tartışmaların tüm seçenekleri işlendikten sonra arta kalan. |
atar | |
---|---|
ConfigurationException | argümanlar ayrıştırılırken hata oluştuysa. |
parseBestEffort
publicparseBestEffort ( args)
Alternatif parseBestEffort(String)
bir alan yöntem ERROR(/List)
argümanların
parametreler | |
---|---|
args |
İadeler | |
---|---|
Bir ERROR(/List) arta kalan tartışmaların |
ayrıştırmakBestEffort
publicparseBestEffort ( args, boolean forceContinue)
Alternatif parseBestEffort(String)
bir alan yöntem ERROR(/List)
tartışmaların ve bazı bağımsız değişken ayrıştırmak olmasa bile, sonuna kadar ayrıştırma devam etmek zorunda edilebilir.
parametreler | |
---|---|
args | |
forceContinue | boolean : bazı bağımsız değişken ayrıştırmak dahi ayrıştırmak devam etmelidir doğrudur. |
İadeler | |
---|---|
Bir ERROR(/List) arta kalan tartışmaların |
ayrıştırmakBestEffort
publicparseBestEffort (String... args)
Bir çabayı gösterme versiyonu parse(String)
. Bir ConfigurationException oluşturulursa, bu istisna dahili olarak yakalanır ve kalan bağımsız değişkenler (istisnanın oluşturulmasına neden olan bağımsız değişken dahil) döndürülür. Bu yöntem atma yapmaz.
parametreler | |
---|---|
args | String |
İadeler | |
---|---|
Bir ERROR(/List) arta kalan tartışmaların |
validateZorunluSeçenekler
public void validateMandatoryOptions ()
Zorunlu olarak işaretlenen tüm alanların ayarlandığını doğrular.
atar | |
---|---|
ConfigurationException |