mirror of
https://github.com/alei1180/curlone.git
synced 2025-11-23 22:45:05 +02:00
Описание публичного интерфейса библиотеки
- Класс КонсольноеПриложение:
- Класс КомандаПриложения:
- Публичные свойства
- ДобавитьПодкоманду
- ПолучитьПодкоманды
- ПолучитьИмяКоманды
- ПолучитьСинонимы
- ПолучитьОписание
- ЗначениеОпции
- ЗначениеАргумента
- ПараметрыКоманды
- ПередВыполнениемКоманды
- ПослеВыполненияКоманды
- ВывестиСправку
- Запуск
- НачалоЗапуска
- ЭтоСинонимКоманды
- Опция
- Аргумент
- УстановитьДействиеВыполнения
- УстановитьДействиеПередВыполнением
- УстановитьДействиеПослеВыполнения
- Класс ПараметрКоманды:
Класс КонсольноеПриложение:
Основной класс для реализации консольного приложения
Публичные свойства
ФлагВерсия
// Класс ПараметрКоманды, для доступа к установленному значению из вне
ВерсияПриложения
// Строковое представление версии приложения
Версия
// Процедура добавляет версию приложения,
// при вызове данной опции, показывается установленная версия и
// завершается выполнение с кодом (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"
//
// Возвращаемое значение:
// ЭтотОбъект - класс ПараметрКоманд
ПроизвольныйТип
// Функция устанавливает произвольный тип параметра
// возвращает текущий параметр команды
//
// Параметры:
// ВходящийКлассЗначенияПараметра - класс - Произвольный класс, реализующий ряд обязательных функций
// ВходящийТипПараметра - тип - тип значения параметра
// ВходящийТипЭлементаПараметра - Тип - тип элементов значения параметра, если тип Массив
//
// Возвращаемое значение:
// ПараметрКоманды - значение из переменной ЭтотОбъект