Описание публичного интерфейса библиотеки
- Класс КонсольноеПриложение:
- Класс КомандаПриложения:
- Публичные свойства
- ДобавитьПодкоманду
- ПолучитьПодкоманды
- ПолучитьИмяКоманды
- ПолучитьСинонимы
- ПолучитьОписание
- ЗначениеОпции
- ЗначениеАргумента
- ПараметрыКоманды
- ПередВыполнениемКоманды
- ПослеВыполненияКоманды
- ВывестиСправку
- Запуск
- НачалоЗапуска
- ЭтоСинонимКоманды
- Опция
- Аргумент
- УстановитьДействиеВыполнения
- УстановитьДействиеПередВыполнением
- УстановитьДействиеПослеВыполнения
- Класс ПараметрКоманды:
Класс КонсольноеПриложение:
Основной класс для реализации консольного приложения
Публичные свойства
ФлагВерсия
// Класс ПараметрКоманды, для доступа к установленному значению из внеВерсияПриложения
// Строковое представление версии приложенияВерсия
// Процедура добавляет версию приложения, // при вызове данной опции, показывается установленная версия и // завершается выполнение с кодом (0) // // Параметры: // Наименование - строка - имя опции, в строке допустимо задавать синоним через пробел, например "v version" // СтрокаВерсии - строка - версия, приложения
УстановитьСпек
// Процедура позволяет переопределить стандартную строку использования приложения // // Параметры: // СтрокаСпек - строка - переопределенная строка использования приложения
ПолучитьКоманду
// Возвращает основную команду приложения // // Возвращаемое значение: // Команда - класс КомандаПриложения
Запустить
// Основная процедура запуска приложения // // Параметры: // АргументыКоманднойСтрокиВходящие - Массив - Элементы <Строка>, необзательный, // Если, не передано считывает из АргументыКоманднойСтроки
ДобавитьКоманду
// Функция добавляет команду приложение и возвращает экземпляр данной команды // // Параметры: // ИмяКоманды - строка - в строке допустимо задавать синоним через пробел, например "exec e" // ОписаниеКоманды - строка - описание команды для справки // КлассРеализацииКоманды - объект - класс, объект реализующий функции выполнения команды. // Так же используется, для автоматической настройки опций и параметров команды // // Возвращаемое значение: // Команда - класс КомандаПриложения
УстановитьОсновноеДействие
// Процедура устанавливает процедуру "ВыполнитьКоманду" выполнения для приложения // // Параметры: // КлассРеализации - объект - класс, объект реализующий процедуру выполнения команды. // ИмяПроцедуры - строка - имя процедуры, отличное от стандартного "ВыполнитьКоманду" //
УстановитьДействиеПередВыполнением
// Процедура устанавливает процедуру "ПередВыполнениемКоманды" выполнения для приложения // запускаемую перед выполнением "ВыполнитьКоманду" // // Параметры: // КлассРеализации - объект - класс, объект реализующий процедуру выполнения команды. // ИмяПроцедуры - строка - имя процедуры, отличное от стандартного "ПередВыполнениемКоманды" //
УстановитьДействиеПослеВыполнения
// Процедура устанавливает процедуру "ПослеВыполненияКоманды" выполнения для приложения // запускаемую после выполнением "ВыполнитьКоманду" // // Параметры: // КлассРеализации - объект - класс, объект реализующий процедуру выполнения команды. // ИмяПроцедуры - строка - имя процедуры, отличное от стандартного "ПослеВыполненияКоманды" //
Опция
// Функция добавляет опцию приложения и возвращает экземпляр данной опции // // Параметры: // Имя - строка - имя опции, в строке допустимо задавать синоним через пробел, например "s some-opt" // Значение - строка - значение опции по умолчанию // Описание - объект - описание опции для справки. // // Возвращаемое значение: // Команда - класс ПараметрКоманды // // Дополнительно смотри справку по классу ПараметрКоманды
Аргумент
// Функция добавляет аргумент приложения и возвращает экземпляр данной аргумента // // Параметры: // Имя - строка - имя аргумента, в строке допустимо использование только из БОЛЬШИХ латинских букв, например "ARG" // Значение - строка - значение аргумента по умолчанию // Описание - объект - описание аргумента для справки. // // Возвращаемое значение: // Команда - класс ПараметрКоманды // // Дополнительно смотри справку по классу ПараметрКоманды //
ВыполнитьКоманду
// Предопределенная процедура выполнения приложения, если не задана процедура в классе. // Выводит справку, по работе с приложением и завершает работу с кодом "1" // Переопределяется, процедурой "УстановитьОсновноеДействие" // // Параметры: // Команда - класс КомандаПриложения - инстанс класс, для доступа к опция и аргументам выполняемой команды //
Класс КомандаПриложения:
Основной класс для реализации консольного приложения
Публичные свойства
Спек
// Пользовательская строка использования текущей командыПодробноеОписание
// (ЗАГОТОВКА) Содержит дополнительно подробное описания для справки по командеПриложение
// Содержит экземпляр класс КонсольноеПриложения, для возможности получения экспортных свойств приложенияКомандыРодители
// Содержит входящий массив родителей текущей команды // Устанавливается при выполнении команд родителей
ДобавитьПодкоманду
// Функция добавляет под команду в текущую и возвращает экземпляр данной команды // // Параметры: // ИмяКоманды - строка - в строке допустимо задавать синоним через пробел, например "exec e" // ОписаниеКоманды - строка - описание команды для справки // КлассРеализацииКоманды - объект - класс, объект реализующий функции выполнения команды. // Так же используется, для автоматической настройки опций и параметров команды // // Возвращаемое значение: // Команда - класс КомандаПриложения
ПолучитьПодкоманды
// Функция массив вложенных команд, текущей команды // // Возвращаемое значение: // массив, элементы класс КомандаПриложения
ПолучитьИмяКоманды
// Функция возвращает текущее имя команды // // Возвращаемое значение: // строка
ПолучитьСинонимы
// Функция массив синонимов команды // // Возвращаемое значение: // массив, элементы класс КомандаПриложения
ПолучитьОписание
// Функция возвращает описание команды // // Возвращаемое значение: // строка
ЗначениеОпции
// Функция возвращает значение опции по переданному имени/синониму опции // // Параметры: // ИмяОпции - строка - имя или синоним опции // // Возвращаемое значение: // Произвольный - Значение - полученное значение в результате чтения строки использования или переменных окружения
ЗначениеАргумента
// Функция возвращает значение аргумента по переданному имени аргумента // // Параметры: // ИмяАргумента - строка - имя аргумента // // Возвращаемое значение: // Произвольный - Значение - полученное значение в результате чтения строки использования или переменных окружения
ПараметрыКоманды
// Функция возвращает все параметры команды, для доступа к ним по синонимам // // Возвращаемое значение: // Соответствие // Ключ - имя или синоним опции/аргумента команды // Значение - полученное значение в результате чтения строки использования или переменных окружения
ПередВыполнениемКоманды
// Предопределенная процедура ПередВыполнениемКоманды команды, если не задана процедура в классе. // Содержит код определение необходимости вывода версии приложения
ПослеВыполненияКоманды
// Предопределенная процедура ПослеВыполненияКоманды команды, если не задана процедура в классе.ВывестиСправку
Процедура выводит справку по команде в консольЗапуск
// Основная процедура запуска команды приложения // // Параметры: // АргументыCLI - Массив - Элементы <Строка> //
НачалоЗапуска
// Процедура подготавливает команды к запуску // Формирует строку использования и // настраивает парсер для выполнения парсинга входящих параметров // Обязательно вызывается пред выполнением команды
ЭтоСинонимКоманды
// Функция проверяет строку, что она является ли синонимом текущей команды // // Параметры: // СтрокаПроверки - строка - имя команды, для проверки // // Возвращаемое значение: // булево - истина. если это синоним или имя текущей команды, иначе ложь
Опция
// Функция добавляет опцию команды и возвращает экземпляр данной опции // // Параметры: // Имя - строка - имя опции, в строке допустимо задавать синоним через пробел, например "s some-opt" // Значение - строка - значение опции по умолчанию // Описание - объект - описание опции для справки. // // Возвращаемое значение: // Команда - класс ПараметрКоманды // // Дополнительно смотри справку по классу ПараметрКоманды
Аргумент
// Функция добавляет аргумент команды и возвращает экземпляр данной аргумента // // Параметры: // Имя - строка - имя аргумента, в строке допустимо использование только из БОЛЬШИХ латинских букв, например "ARG" // Значение - строка - значение аргумента по умолчанию // Описание - объект - описание аргумента для справки. // // Возвращаемое значение: // Команда - класс ПараметрКоманды // // Дополнительно смотри справку по классу ПараметрКоманды
УстановитьДействиеВыполнения
// Процедура устанавливает процедуру "ВыполнитьКоманду" выполнения для команды // // Параметры: // КлассРеализации - объект - класс, объект реализующий процедуру выполнения команды. // ИмяПроцедуры - строка - имя процедуры, отличное от стандартного "ВыполнитьКоманду" //
УстановитьДействиеПередВыполнением
// Процедура устанавливает процедуру "ПередВыполнениемКоманды" выполнения для команды // запускаемую перед выполнением "ВыполнитьКоманду" // // Параметры: // КлассРеализации - объект - класс, объект реализующий процедуру выполнения команды. // ИмяПроцедуры - строка - имя процедуры, отличное от стандартного "ПередВыполнениемКоманды" //
УстановитьДействиеПослеВыполнения
// Процедура устанавливает процедуру "ПослеВыполненияКоманды" выполнения для команды // запускаемую после выполнением "ВыполнитьКоманду" // // Параметры: // КлассРеализации - объект - класс, объект реализующий процедуру выполнения команды. // ИмяПроцедуры - строка - имя процедуры, отличное от стандартного "ПослеВыполненияКоманды" //
Класс ПараметрКоманды:
Основной класс для реализации параметров команды опции или аргумента
Публичные свойства
Имя
// Имя параметра команды // первая строка из массива строк, переданных при создании
Описание
// Описание параметра команды // Используется при выводе справки
ПодробноеОписание
// Подробное описание параметра команды // Используется при выводе справки (запланировано)
ПеременнаяОкружения
// Содержит имя переменной окружения, откуда получать значение // допустимо использование нескольких переменных окружения через пробел // Используется при выводе справки
Синонимы
// Содержит синонимов параметра командыНаименованияПараметров
// Содержит нормализованные наименования параметров // для опций ("f force"): // "-f", "--force" // для аргументов ("ARG"): // "ARG"
СкрытьЗначение
// Определяет необходимость показа значения по умолчанию параметра в справке. // Значение "Истина" скрывает в справке, по умолчанию "Ложь"
УстановленаИзПеременнойОкружения
// Содержит признак истина, если значение получено из переменной окруженияУстановленаПользователем
// Содержит признак истина, если значение установлено пользователем в строке использованияТребоватьУстановкиПользователем
// Признак обязательности установки значения пользователем в строке использования // при "истина", если значение не передано явно, будет вызывать исключение
Значение
// Содержит значение параметра // В том числе установленное значение по умолчанию
ТипОпции
// Содержит тип параметраЭтоМассив
// Возвращает истина, если тип параметра Массив // // Возвращаемое значение: // булево
Очистить
// Процедура очищает, Значение параметра, для типа Массив //
ЗначениеВСтроку
// Возвращает строковое представление значения параметра // // Возвращаемое значение: // строка
ПолучитьОбязательностьВвода
// Возвращает истина, если данный параметр обязателен для указания // // Возвращаемое значение: // булево
УстановитьЗначение
// Процедура устанавливает значение параметра из входящего значения // приводить к необходимому типу // // Параметры: // ВходящееЗначение - строка - полученная строка при парсинге строки использования
ИзПеременнойОкружения
// Процедура устанавливает значение параметра из переменной окружения //
Текучие функции
ВОкружении
// Функция устанавливает переменную окружения для параметра команды // возвращает текущий параметр команды // // Параметры: // СтрокаПеременнаяОкружения - строка - имя переменной окружения, откуда получать значение // допустимо использование нескольких переменных окружения через пробел // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
СкрытьВСправке
// Функция устанавливает признак скрытости значения по умолчанию в справке // возвращает текущий параметр команды // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
ПоУмолчанию
// Функция устанавливает значение по умолчанию // возвращает текущий параметр команды // // Параметры: // ВходящееЗначение - произвольный - значение параметра по умолчанию // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
Флаговый
// Функция устанавливает тип параметра "Булево" // возвращает текущий параметр команды // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект // Вызов необязателен, автоматически определяется при создании параметра, // если передано значение по умолчанию
Флаг
// Функция устанавливает тип параметра "Булево" // возвращает текущий параметр команды // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект // Вызов необязателен, автоматически определяется при создании параметра, // если передано значение по умолчанию
ТБулево
// Функция устанавливает тип параметра "Булево" // возвращает текущий параметр команды // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект // Вызов необязателен, автоматически определяется при создании параметра, // если передано значение по умолчанию
ТДата
// Функция устанавливает тип параметра "Дата" // возвращает текущий параметр команды // // Параметры: // ФорматДаты - Строка - формат даты, при приведении к дате из строки параметра по умолчанию (yyyy-MM-dd_HH:mm:ss) // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект // Вызов необязателен, автоматически определяется при создании параметра, // если передано значение по умолчанию
ТЧисло
// Функция устанавливает тип параметра "Число" // возвращает текущий параметр команды // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект // Вызов необязателен, автоматически определяется при создании параметра, // если передано значение по умолчанию
ТСтрока
// Функция устанавливает тип параметра "Строка" // возвращает текущий параметр команды // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект // Вызов необязателен, автоматически определяется при создании параметра, // если передано значение по умолчанию
ТМассивДат
// Функция устанавливает тип параметра "Массив" элементы "Дата" // возвращает текущий параметр команды // // Параметры: // ФорматДаты - Строка - формат даты, при приведении к дате из строки параметра по умолчанию (yyyy-MM-dd_HH:mm:ss) // ВходящийРазделительМассива - символ - используется для разделения параметров при парсинге строки // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
ТМассивЧисел
// Функция устанавливает тип параметра "Массив" элементы "Число" // возвращает текущий параметр команды // // Параметры: // ВходящийРазделительМассива - символ - используется для разделения параметров при парсинге строки // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
ТМассивСтрок
// Функция устанавливает тип параметра "Массив" элементы "Строки" // возвращает текущий параметр команды // // Параметры: // ВходящийРазделительМассива - символ - используется для разделения параметров при парсинге строки // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
ТМассивБулево
// Функция устанавливает тип параметра "Массив" элементы "Булево" // возвращает текущий параметр команды // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
ТПеречисление
// Функция устанавливает тип параметра "Перечисление" // возвращает текущий параметр команды // // Параметры: // ДоступныеПеречисления - Соответсвие // Ключ - Строка // Значение - Структура ("Наименование, Значение, ДополнительнаяСправка") // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект // Вызов необязателен, автоматически определяется при создании параметра, // если передано значение по умолчанию
Перечисление
// Функция устанавливает произвольный тип параметра // возвращает текущий параметр команды // // Параметры: // НаименованиеПеречисления - строка - пользовательное значение перечисления // ЗначениеПеречисления - произвольный - системное значение перечисления // ДополнительнаяСправкаПеречисления - строка - дополнительная строка для справки // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект //
Описание
// Функция устанавливает описание параметра для справки // возвращает текущий параметр команды // // Параметры: // НовыеОписание - строка - строка с новым описанием, отличным от переданного в момент создания // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
ПодробноеОписание
// Функция устанавливает подробное описание параметра для справки // возвращает текущий параметр команды // // Параметры: // ВходящееПодробноеОписание - строка - строка с новым описанием, отличным от переданного в момент создания // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект //
Псевдоним
// Функция устанавливает дополнительный синоним/псевдоним параметра для справки // возвращает текущий параметр команды // // Параметры: // СтрокаПсевдонима - строка - строка с новым псевдонимом, отличным от переданного в момент создания // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
Обязательный
// Функция устанавливает признак обязательности указания данного параметра // возвращает текущий параметр команды // // Параметры: // Признак - булево - признак обязательности указания данного параметра (по умолчанию Истина) // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект
ВФайле
// (ЗАГОТОВКА) Функция устанавливает путь и место в файле при получении настроек // возвращает текущий параметр команды // // Параметры: // ПутьКФайлу - строка - путь к файлу для чтения // МестоВФайле - строка - путь в файле, в формате "general.force" // // Возвращаемое значение: // ЭтотОбъект - класс ПараметрКоманд
ПроизвольныйТип
// Функция устанавливает произвольный тип параметра // возвращает текущий параметр команды // // Параметры: // ВходящийКлассЗначенияПараметра - класс - Произвольный класс, реализующий ряд обязательных функций // ВходящийТипПараметра - тип - тип значения параметра // ВходящийТипЭлементаПараметра - Тип - тип элементов значения параметра, если тип Массив // // Возвращаемое значение: // ПараметрКоманды - значение из переменной ЭтотОбъект