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 برای یک مجموعه از اشیاء.

ArgsOptionParser (Object... optionSources)

ایجاد یک ArgsOptionParser برای یک یا چند اشیاء.

روشهای عمومی

getInopOptions ()

مجموعه گزینه هایی را که هیچ مقدار پیش فرض را تغییر نداده است ، برمی گرداند.

static String getOptionHelp (boolean importantOnly, Object optionObject)

متن کمک خروجی برای تمام Option زمینه در optionObject به

parse (String... args)

آرگومان های خط فرمان «args» را تجزیه می کند و زمینه هایOption از «optionSource» ارائه شده به سازنده را تنظیم می کند.

parse ( args) parse ( args)

جایگزین parse(String) روشی است که طول می کشد یک ERROR(/List) از استدلال

parseBestEffort ( args) parseBestEffort ( args)

جایگزین parseBestEffort(String) روشی است که طول می کشد یک ERROR(/List) از استدلال

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

جایگزین parseBestEffort(String) روشی است که طول می کشد یک ERROR(/List) از استدلال، و می تواند مجبور به ادامه تجزیه تا پایان، حتی اگر برخی استدلال انجام تجزیه کند.

parseBestEffort (String... args)

نسخه بهترین تلاش از parse(String) .

void validateMandatoryOptions ()

تأیید می کند که همه فیلدها به عنوان اجباری علامت گذاری شده اند.

سازندگان عمومی

ArgsOptionParser

public ArgsOptionParser ( optionSources)

ایجاد یک ArgsOptionParser برای یک مجموعه از اشیاء.

مولفه های
optionSources : اشیاء پیکربندی

پرتاب می کند
ConfigurationException اگر اشیاء پیکربندی به درستی پیکربندی نشده اند.

ArgsOptionParser

public ArgsOptionParser (Object... optionSources)

ایجاد یک ArgsOptionParser برای یک یا چند اشیاء.

مولفه های
optionSources Object : پیکربندی اشیاء.

پرتاب می کند
ConfigurationException اگر اشیاء پیکربندی به درستی پیکربندی نشده اند.

روشهای عمومی

getInopOptions

public  getInopOptions ()

مجموعه گزینه هایی را که هیچ مقدار پیش فرض را تغییر نداده است ، برمی گرداند.

برمی گردد

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 یک رشته حاوی متن راهنمای کاربر پسند برای همه زمینه های گزینه

تجزیه

public  parse (String... args)

آرگومان های خط فرمان «args» را تجزیه می کند و زمینه هایOption از «optionSource» ارائه شده به سازنده را تنظیم می کند.

مولفه های
args String

برمی گردد
ERROR(/List) از استدلال موضعی بیش از پس از پردازش تمام گزینه های سمت چپ.

پرتاب می کند
ConfigurationException اگر خطایی در تجزیه و تحلیل آرگومان ها رخ داد.

تجزیه

public  parse ( args)

جایگزین parse(String) روشی است که طول می کشد یک ERROR(/List) از استدلال

مولفه های
args

برمی گردد
ERROR(/List) از استدلال موضعی بیش از پس از پردازش تمام گزینه های سمت چپ.

پرتاب می کند
ConfigurationException اگر خطایی در تجزیه و تحلیل آرگومان ها رخ داد.

parseBestEffort

public  parseBestEffort ( args)

جایگزین parseBestEffort(String) روشی است که طول می کشد یک ERROR(/List) از استدلال

مولفه های
args

برمی گردد
ERROR(/List) از استدلال بیش از چپ

parseBestEffort

public  parseBestEffort ( args, 
                boolean forceContinue)

جایگزین parseBestEffort(String) روشی است که طول می کشد یک ERROR(/List) از استدلال، و می تواند مجبور به ادامه تجزیه تا پایان، حتی اگر برخی استدلال انجام تجزیه کند.

مولفه های
args : لیستی که شامل آرگومان های سمت چپ خواهد بود.

forceContinue boolean : درست اگر آن را باید به تجزیه حتی اگر برخی استدلال انجام تجزیه و تحلیل کند ادامه خواهد داد.

برمی گردد
ERROR(/List) از استدلال بیش از چپ

parseBestEffort

public  parseBestEffort (String... args)

نسخه بهترین تلاش از parse(String) . اگر ConfigurationException پرتاب شود ، آن استثنا به صورت داخلی ضبط می شود و آرگومان های باقی مانده (از جمله آرگومانی که باعث پرتاب استثنا شده است) بازگردانده می شوند. این روش پرتاب نمی کند.

مولفه های
args String

برمی گردد
ERROR(/List) از استدلال بیش از چپ

validateMandatoryOptions

public void validateMandatoryOptions ()

تأیید می کند که همه فیلدها به عنوان اجباری علامت گذاری شده اند.

پرتاب می کند
ConfigurationException