Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

ArgsOptionParser

public class ArgsOptionParser
extends OptionSetter

java.lang.Object
com.android.tradefed.config.OptionSetter
com.android.tradefed.config.ArgsOptionParser


Заполняет Option поля из аргументов разбираемых командной строки.

Строки в переданной String [] анализируются слева направо. Каждая строка классифицируется как короткий параметр (например, «-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».)

Логическая длинная опция --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 для коллекции объектов.

ArgsOptionParser (Object... optionSources)

Создает ArgsOptionParser для одного или нескольких объектов.

Публичные методы

getInopOptions ()

Возвращает набор параметров, значения по умолчанию для которых не изменились.

static String getOptionHelp (boolean importantOnly, Object optionObject)

Выходной текст справки для всех Option полей optionObject .

parse (String... args)

Анализирует аргументы командной строки 'args', устанавливая поля @Option объекта 'optionSource', предоставленного конструктору.

parse ( args) parse ( args)

Alternate 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 Строка, содержащая удобный текст справки для всех полей Option

разбирать

public  parse (String... args)

Анализирует аргументы командной строки 'args', устанавливая поля @Option объекта 'optionSource', предоставленного конструктору.

Параметры
args String

Возврат
ERROR(/List) позиционных аргументов , оставшихся после обработки всех параметров.

Броски
ConfigurationException если при разборе аргументов произошла ошибка.

разбирать

public  parse ( args)

Alternate 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