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.
// 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 (Object... optionSources) Создает объект | |
ArgsOptionParser (Collection<Object> optionSources) Создает объект | |
Общедоступные методы | |
|---|---|
Set<String> | getInopOptions ()Возвращает набор параметров, которые не изменили ни одного значения по умолчанию. |
static String | getOptionHelp (boolean importantOnly, Object optionObject) Вывести справочный текст для всех полей |
List<String> | parse (List<String> args) Альтернативный метод |
List<String> | parse (String... args)Анализирует аргументы командной строки 'args', устанавливая поля @Option объекта 'optionSource', переданного конструктору. |
List<String> | parseBestEffort (List<String> args) Альтернативный метод |
List<String> | parseBestEffort (List<String> args, boolean forceContinue) Альтернативный метод |
List<String> | parseBestEffort (String... args) Вариант |
void | validateMandatoryOptions ()Проверяет, что все поля, отмеченные как обязательные, заполнены. |
Государственные строители
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
Создает объект ArgsOptionParser для одного или нескольких объектов.
| Параметры | |
|---|---|
optionSources | Object : объекты конфигурации. |
| Броски | |
|---|---|
ConfigurationException | если объекты конфигурации настроены неправильно. |
ArgsOptionParser
public ArgsOptionParser (Collection<Object> optionSources)
Создает объект ArgsOptionParser для коллекции объектов.
| Параметры | |
|---|---|
optionSources | Collection : объекты конфигурации. |
| Броски | |
|---|---|
ConfigurationException | если объекты конфигурации настроены неправильно. |
Общедоступные методы
getInopOptions
public Set<String> getInopOptions ()
Возвращает набор параметров, которые не изменили ни одного значения по умолчанию.
| Возвраты | |
|---|---|
Set<String> | |
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 List<String> parse (List<String> args)
Альтернативный метод ERROR(/#parse(String. args)) , принимающий List аргументов.
| Параметры | |
|---|---|
args | List |
| Возвраты | |
|---|---|
List<String> | List позиционных аргументов, оставшихся после обработки всех вариантов. |
| Броски | |
|---|---|
ConfigurationException | если произошла ошибка при разборе аргументов. |
разбор
public List<String> parse (String... args)
Анализирует аргументы командной строки 'args', устанавливая поля @Option объекта 'optionSource', переданного конструктору.
| Параметры | |
|---|---|
args | String |
| Возвраты | |
|---|---|
List<String> | List позиционных аргументов, оставшихся после обработки всех вариантов. |
| Броски | |
|---|---|
ConfigurationException | если произошла ошибка при разборе аргументов. |
parseBestEffort
public List<String> parseBestEffort (List<String> args)
Альтернативный метод ERROR(/#parseBestEffort(String. args)) , принимающий List аргументов.
| Параметры | |
|---|---|
args | List |
| Возвраты | |
|---|---|
List<String> | List оставшихся аргументов |
parseBestEffort
public List<String> parseBestEffort (List<String> args,
boolean forceContinue)Альтернативный метод ERROR(/#parseBestEffort(String. args)) , который принимает List аргументов и может принудительно продолжать разбор до конца, даже если некоторые аргументы не были разобраны.
| Параметры | |
|---|---|
args | List : список, который будет содержать оставшиеся аргументы. |
forceContinue | boolean : True, если синтаксический анализ должен продолжаться, даже если некоторые аргументы не были обработаны. |
| Возвраты | |
|---|---|
List<String> | List оставшихся аргументов |
parseBestEffort
public List<String> parseBestEffort (String... args)
Вариант метода ERROR(/#parse(String. args)) , максимально приближенный к исходному. Если возникает исключение ConfigurationException, оно перехватывается внутри метода, и возвращаются оставшиеся аргументы (включая аргумент, вызвавший исключение). Этот метод не генерирует исключения.
| Параметры | |
|---|---|
args | String |
| Возвраты | |
|---|---|
List<String> | List оставшихся аргументов |
validateMandatoryOptions
public void validateMandatoryOptions ()
Проверяет, что все поля, отмеченные как обязательные, заполнены.
| Броски | |
|---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException | |