ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
java.lang.Object | ||
↳ | com.android.tradefed.config.OptionSetter | |
↳ | com.android.tradefed.config.ArgsOptionParser |
پر Option
رشته های مختلف از آرگومان های خط فرمان تجزیه شده است.
رشته های موجود در رشته منتخب [] از چپ به راست تجزیه می شوند. هر رشته به عنوان یک گزینه کوتاه (مانند "-v") ، یک گزینه طولانی (مانند "--verbose") ، یک استدلال به یک گزینه (مانند "out.txt" در "-f out.txt" طبقه بندی می شود ") ، یا یک استدلال موقعیتی بدون گزینه.
هر آرگومان گزینه باید به یک یا چند نقشه Option
زمینه. گزینه طولانی نقشه به Option
نام، و یک گزینه کوتاه نقشه ها را به Option
نام کوتاه. هر نام گزینه و نام کوتاه گزینه باید منحصر به فرد با توجه به تمام دیگر Option
زمینه در همان جسم.
بحث گزینه تنها می توانید به چند نقشه برداری Option
زمینه با همین نام در سراسر اشیاء متعدد. Option
استدلال می توان فضای نام منحصر به فرد به یک اشاره Option
درست در یک شی تنها با استفاده از نام کلاس کامل است که جسم و یا آن OptionClass
ارزش نام مستعار هم جدا شده توسط ':'. یعنی
--classname:optionname optionvalue or --optionclassalias:optionname optionvalue.
یک گزینه کوتاه ساده یک "-" است که پس از آن یک کاراکتر گزینه کوتاه وجود دارد. اگر گزینه به یک آرگومان نیاز دارد (که در مورد هر گزینه غیر بولی صادق است) ، ممکن است به عنوان یک پارامتر جداگانه نوشته شود ، اما نیازی به آن نیست. یعنی "-f out.txt" و "-fout.txt" هر دو قابل قبول هستند.
این امکان وجود دارد که چندین گزینه کوتاه را پس از یک "-" واحد مشخص کنید تا زمانی که همه (به جز احتمالاً آخرین) نیازی به آرگومان ندارند.
یک گزینه طولانی با "-" و به دنبال چندین کاراکتر شروع می شود. اگر گزینه به آرگومان نیاز دارد ، ممکن است مستقیماً بعد از نام گزینه ، با "=" جدا شده یا به عنوان آرگومان بعدی نوشته شود. (یعنی "--file = out.txt" یا "--file out.txt".)
یک گزینه طولانی boolean '--name' به طور خودکار یک همراه '-no-name' دریافت می کند. با انتخاب گزینه "--flag" ، سپس ، "--flag" ، "--no-flag" ، "--flag = true" و "--flag = false" همه معتبر هستند ، گرچه هیچ کدام "--flag true "nor" --flag false "مجاز است (از آنجا که" --flag "به تنهایی کافی است ،" درست "یا" غلط "زیر به طور جداگانه تفسیر می شود). شما می توانید از "بله" و "نه" به عنوان مترادف "درست" و "نادرست" استفاده کنید.
هر رشته ای که با یک "-" شروع نمی شود و یک آرگومان مورد نیاز یک گزینه قبلی نیست ، مانند همه رشته های متوالی ، یک آرگومان موقعیتی بدون گزینه است. هر رشته بعد از یک "-" یک آرگومان موقعیتی بدون گزینه است.
زمینه های مربوط به گزینه ها با پردازش گزینه های آنها به روز می شوند. هرگونه آرگومان موقعیتی باقی مانده به عنوان 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) { ... } ... }همچنین ببینید:
- صفحه man getopt (1)
- ماژول "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 (Object... optionSources) ایجاد یک |
روشهای عمومی | |
---|---|
getInopOptions () مجموعه گزینه هایی را که هیچ مقدار پیش فرض را تغییر نداده است ، برمی گرداند. | |
static String | getOptionHelp (boolean importantOnly, Object optionObject) متن کمک خروجی برای تمام |
parse (String... args) آرگومان های خط فرمان «args» را تجزیه می کند و زمینه هایOption از «optionSource» ارائه شده به سازنده را تنظیم می کند. | |
parse ( args) parse ( args) جایگزین | |
parseBestEffort ( args) parseBestEffort ( args) جایگزین | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) جایگزین | |
parseBestEffort (String... args) نسخه بهترین تلاش از | |
void | validateMandatoryOptions () تأیید می کند که همه فیلدها به عنوان اجباری علامت گذاری شده اند. |
سازندگان عمومی
ArgsOptionParser
public ArgsOptionParser (optionSources)
ایجاد یک ArgsOptionParser
برای یک مجموعه از اشیاء.
مولفه های | |
---|---|
optionSources |
پرتاب می کند | |
---|---|
ConfigurationException | اگر اشیاء پیکربندی به درستی پیکربندی نشده اند. |
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
ایجاد یک ArgsOptionParser
برای یک یا چند اشیاء.
مولفه های | |
---|---|
optionSources | Object : پیکربندی اشیاء. |
پرتاب می کند | |
---|---|
ConfigurationException | اگر اشیاء پیکربندی به درستی پیکربندی نشده اند. |
روشهای عمومی
getInopOptions
publicgetInopOptions ()
مجموعه گزینه هایی را که هیچ مقدار پیش فرض را تغییر نداده است ، برمی گرداند.
برمی گردد | |
---|---|
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]«پیشفرض ..." متن حذف خواهد شد در صورتی که زمینه گزینه تهی و یا خالی است.
مولفه های | |
---|---|
importantOnly | boolean : اگر true تنها به کمک چاپ برای گزینه های مهم |
optionObject | Object : جسم به کمک چاپ متن برای |
برمی گردد | |
---|---|
String | یک رشته حاوی متن راهنمای کاربر پسند برای همه زمینه های گزینه |
تجزیه
publicparse (String... args)
آرگومان های خط فرمان «args» را تجزیه می کند و زمینه هایOption از «optionSource» ارائه شده به سازنده را تنظیم می کند.
مولفه های | |
---|---|
args | String |
برمی گردد | |
---|---|
ERROR(/List) از استدلال موضعی بیش از پس از پردازش تمام گزینه های سمت چپ. |
پرتاب می کند | |
---|---|
ConfigurationException | اگر خطایی در تجزیه و تحلیل آرگومان ها رخ داد. |
تجزیه
publicparse ( args)
جایگزین parse(String)
روشی است که طول می کشد یک ERROR(/List)
از استدلال
مولفه های | |
---|---|
args |
برمی گردد | |
---|---|
ERROR(/List) از استدلال موضعی بیش از پس از پردازش تمام گزینه های سمت چپ. |
پرتاب می کند | |
---|---|
ConfigurationException | اگر خطایی در تجزیه و تحلیل آرگومان ها رخ داد. |
parseBestEffort
publicparseBestEffort ( args)
جایگزین parseBestEffort(String)
روشی است که طول می کشد یک ERROR(/List)
از استدلال
مولفه های | |
---|---|
args |
برمی گردد | |
---|---|
ERROR(/List) از استدلال بیش از چپ |
parseBestEffort
publicparseBestEffort ( args, boolean forceContinue)
جایگزین parseBestEffort(String)
روشی است که طول می کشد یک ERROR(/List)
از استدلال، و می تواند مجبور به ادامه تجزیه تا پایان، حتی اگر برخی استدلال انجام تجزیه کند.
مولفه های | |
---|---|
args | |
forceContinue | boolean : درست اگر آن را باید به تجزیه حتی اگر برخی استدلال انجام تجزیه و تحلیل کند ادامه خواهد داد. |
برمی گردد | |
---|---|
ERROR(/List) از استدلال بیش از چپ |
parseBestEffort
publicparseBestEffort (String... args)
نسخه بهترین تلاش از parse(String)
. اگر ConfigurationException پرتاب شود ، آن استثنا به صورت داخلی ضبط می شود و آرگومان های باقی مانده (از جمله آرگومانی که باعث پرتاب استثنا شده است) بازگردانده می شوند. این روش پرتاب نمی کند.
مولفه های | |
---|---|
args | String |
برمی گردد | |
---|---|
ERROR(/List) از استدلال بیش از چپ |
validateMandatoryOptions
public void validateMandatoryOptions ()
تأیید می کند که همه فیلدها به عنوان اجباری علامت گذاری شده اند.
پرتاب می کند | |
---|---|
ConfigurationException |