ArgsOptionParser
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şkenlerinden Option
alanlarını doldurur.
Option
alanıyla eşleşmelidir. Uzun bir seçenek, Option
adıyla eşlenir ve kısa bir seçenek, Option
kısa adıyla 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 argümanı, 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
takma değeri kullanılarak tek bir nesne içindeki bir Option
alanına benzersiz bir şekilde başvurmak için ad alanlı olabilir. 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 '--no-name' 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 nesne koleksiyonu için bir | |
ArgsOptionParser (Object... optionSources) Bir veya daha fazla nesne için bir |
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 |
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) Argümanların | |
parseBestEffort ( args) parseBestEffort ( args) Bir | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) Bir | |
parseBestEffort (String... args) | |
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 |
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
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)
İçindeki tüm Option
alanları için yardım metni çıktısı seçenekNesne .
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]Seçenek alanı boşsa veya boşsa 'Varsayılan..." metni atlanacaktır.
parametreler | |
---|---|
importantOnly | boolean : true ise yalnızca önemli seçenekler için yardım yazdırın |
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
publicparse (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çenekler işlendikten sonra kalan konumsal argümanların bir ERROR(/List) . |
atar | |
---|---|
ConfigurationException | argümanlar ayrıştırılırken hata oluştuysa. |
ayrıştırmak
publicparse ( args)
Argümanların ERROR(/List)
alan alternatif parse(String)
yöntemi
parametreler | |
---|---|
args |
İadeler | |
---|---|
Tüm seçenekler işlendikten sonra kalan konumsal argümanların bir ERROR(/List) . |
atar | |
---|---|
ConfigurationException | argümanlar ayrıştırılırken hata oluştuysa. |
ayrıştırmakBestEffort
publicparseBestEffort ( args)
Bir ERROR(/List)
argüman alan alternatif parseBestEffort(String)
yöntemi
parametreler | |
---|---|
args |
İadeler | |
---|---|
kalan argümanların bir ERROR(/List) |
ayrıştırmakBestEffort
publicparseBestEffort ( args, boolean forceContinue)
Bir ERROR(/List)
argüman alan ve bazı argümanlar ayrıştırmasa bile sonuna kadar ayrıştırmaya devam etmeye zorlanabilen alternatif parseBestEffort(String)
yöntemi.
parametreler | |
---|---|
args | |
forceContinue | boolean : Bazı bağımsız değişkenler ayrıştırmasa bile ayrıştırmaya devam etmesi gerekiyorsa doğrudur. |
İadeler | |
---|---|
kalan argümanların bir ERROR(/List) |
ayrıştırmakBestEffort
publicparseBestEffort (String... args)
parse(String)
en iyi çaba gerektiren sürümü. 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 | |
---|---|
kalan argümanların bir ERROR(/List) |
validateZorunluSeçenekler
public void validateMandatoryOptions ()
Zorunlu olarak işaretlenen tüm alanların ayarlandığını doğrular.
atar | |
---|---|
ConfigurationException |