ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
| java.lang.Объект | ||
| ↳ | 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.
// 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) Альтернативный метод | |
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 в вариантОбъект .
[-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 : True, если анализ должен продолжаться, даже если некоторые аргументы не анализируются. |
| Возврат | |
|---|---|
ERROR(/List) оставшихся аргументов | |
parseBestEffort
publicparseBestEffort (String... args)
Самая лучшая версия parse(String) . Если генерируется исключение ConfigurationException, это исключение фиксируется внутренне, а остальные аргументы (включая аргумент, вызвавший создание исключения) возвращаются. Этот метод не выбрасывает.
| Параметры | |
|---|---|
args | String |
| Возврат | |
|---|---|
ERROR(/List) оставшихся аргументов | |
validateMandatoryOptions
public void validateMandatoryOptions ()
Проверяет, что все поля, помеченные как обязательные, установлены.
| Броски | |
|---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException | |