ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
java.lang.Object | ||
↳ | com.android.tradefed.config.OptionSetter | |
↳ | com.android.tradefed.config.ArgsOptionParser |
Заполняет Option
поля из аргументов разбираемых командной строки.
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».) Логическая длинная опция --name автоматически получает спутника --no-name. Если задана опция «--flag», то «--flag», «--no-flag», «--flag = true» и «--flag = false» все допустимы, хотя ни один из «--flag» true "или" --flag false "разрешены (поскольку" --flag "самого по себе достаточно, следующие" true "или" false "интерпретируются отдельно). Вы можете использовать «да» и «нет» как синонимы «истина» и «ложь». Каждая строка, не начинающаяся с «-» и не обязательный аргумент предыдущей опции, является позиционным аргументом без опции, как и все последующие строки. Каждая строка после «-» - это позиционный аргумент, не являющийся опцией. Поля, соответствующие параметрам, обновляются по мере обработки их параметров. Все оставшиеся позиционные аргументы возвращаются как 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) { ... } ... }Смотрите также:
- справочная страница getopt (1)
- Модуль Python 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) Alternate | |
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 | Строка, содержащая удобный текст справки для всех полей Option |
разбирать
publicparse (String... args)
Анализирует аргументы командной строки 'args', устанавливая поля @Option объекта 'optionSource', предоставленного конструктору.
Параметры | |
---|---|
args | String |
Возврат | |
---|---|
ERROR(/List) позиционных аргументов , оставшихся после обработки всех параметров. |
Броски | |
---|---|
ConfigurationException | если при разборе аргументов произошла ошибка. |
разбирать
publicparse ( args)
Alternate 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 |