Releases: autumn-library/autumn
Releases · autumn-library/autumn
v2.3.1
- Исправлено отсутствие вызова ПриРазворачиванииАннотации при разворачивании вложенных аннотаций
Full Changelog: v2.3.0...v2.3.1
v2.3.0
- Внедрение желудей и деталек в приватные поля объекта (без Экспорт)
- Асинхронный запуск всех рогаток с опциональным ожиданием завершения. Подробнее см. документацию
- Добавлена возможность внедрять желуди в виде соответствия (имя желудя -> желудь) и таблицы значений (Имя, ОпределениеЖелудя, Желудь)
- Требуемая версия движка повышена до 1.8.3
v2.2.0
- Проект переехал в организацию autumn-library
- Добавлен механизм повторяемых параметров аннотаций.
- Исправлена ошибка, при которой ПриРазворачиванииАннотации в параметр ТипВладельцаСвойства иногда передавалась
Строка
вместоТип
- Добавлена возможность поиска списка желудей с передачей параметров-блестяшек по аналогии с поиском одного желудя.
- В
ОпределениеАннотации
добавлен публичный метод создания объекта аннотации
v2.1.0
- Добавлен механизм наследования и контроля заполнения аннотаций. Теперь можно создать специальный класс, помеченный аннотацией
&Аннотация
. При ее применении свойство/метод обоготиться подчиненными аннотациями и будет осуществлена проверка заполнения параметров аннотации. Подробнее см. в документации. - В
Поделку
добавлен методДобавитьАннотацию(Тип)
- При использовании автоинициализации Поделки
&Заготовками
список заготовок больше не очищается. Для принудительной очистки списка автозаготовок добавлен методОсень.ОчиститьЗаготовкиДляАвтоИнициализации()
- В модуль РаботаСАннотациями добавлены методы поиска аннотации в списке аннотаций и установки значения параметра аннотации
- Исправлено смешение контекстов ФабрикиЖелудей при работе с несколькими независимыми Поделками
- Исправлено дублирование элементов массива при внедрении в
&Детальку
- Ускорено создание желудей, в том числе компанейских
- Новые публичные классы - ОпределениеАннотации и РазворачивательАннотации (доступен для внедрения как
&Желудь
) - В
ОпределениеАннотации
добавлены методыСвойства()
иМетоды()
с информацией о развернутых аннотациях - Исправлено создание желудей примитивных типов через
&Завязь
- Исправлена ошибка при использовании настроек в формате
yaml
- Новые разделы документации:
- Собственные аннотации
- Наследование аннотаций
- Обработка аннотаций
- Добавлено немножечко описания публичного интерфейса и полей классов.
- Добавлено автотестирование проекта
Full Changelog: v2.0.0...v2.1.0
v2.0.0
Breaking change
КонтекстПриложения
переименован вПоделка
.- Методы
КонтекстПриложения.Зарегистрировать*
переименованы вПоделка.Добавить*
. - Метод
КонтекстПриложения.ПолучитьЖелудь
переименован вПоделка.НайтиЖелудь.
- В качестве значения второго аргумента метода
ОбработатьЖелудь
вНапильник
теперь передаетсяОпределениеЖелудя
, а неИмяЖелудя
. - Жизненный цикл приложения разделен на две фазы:
- фаза инициализации, в которой можно только добавлять в поделку новые желуди;
- фаза выполнения, в которой можно находить желуди, но нельзя регистрировать новые.
- Добавлен метод
Поделка.ЗапуститьПриложение()
, переводящий приложение из статусаИнициализация
в статусВыполнение
.
Новое в версии
- Добавлена аннотация
&Прозвище
, в которой можно указывать "синоним" желудя. Желудь может иметь несколько прозвищ (через повторение аннотации). - В
Поделка
добавлен методНайтиЖелуди
, позволяющий получить массив желудей с совпадающим прозвищем. - В аннотацию
&Пластилин
добавлен параметрТип
, в котором можно указать способ поиска прилепляемой частицы:- "Желудь" - будет осуществлен поиск и внедрение одного желудя (как и раньше);
- "Массив" - будет осуществлен поиск нескольких желудей по имени/прозвищу и внедрение их в виде массива.
- Не только имя
&Желудь
, но и имя&Напильник
,&Дуб
и&Завязь
теперь можно переопределить в соответствующей аннотации. - Для
&Завязь
реализована возможность именовать метод произвольно, а не только по имени типа возвращаемого значения. В случае произвольного имени, тип возвращаемого значения должен быть указан в параметреТип
аннотации&Завязь
. - Добавлена аннотация
&Верховный
, с помощью которой можно:- переопределить имеющийся в Поделке желудь по имени желудя;
- объявить желудь как желудь "по умолчанию" при получении желудя по прозвищу, в случае если желудей с одним прозвищем несколько.
- В конструктор
&Напильник
теперь можно прилепить не толькоПоделка
, но и любой другой желудь. Из-за рекурсивной зависимости на таком прилепляемом желуде не будет отрабатывать&Напильник
, в который он внедряется. - Все
&Напильник
'и теперь принудительно инициализируются перед поиском первого желудя. &Завязь
теперь тоже может иметь свой&Характер
.- Добавлена аннотация
&Рогатка
для определения желудей, которые должны срабатывать при старте приложения. Каждая&Рогатка
должна иметь методПриЗапускеПриложения()
. - Добавлена аннотация
&Заготовка
для массового наполнения Поделки желудями. Каждая&Заготовка
должна иметь методПриИнициализацииПоделки(Поделка)
. Заготовка инстанцируется на фазе инициализации приложения, поэтому может принимать в качестве зависимостей только набор&Деталька
. - Добавлен модуль
Осень
со статическими методами наполнения списка заготовок на этапе загрузки библиотеки (Осень.ДобавитьЗаготовкуДляАвтоИнициализации(ИмяТипаЗаготовки)
) - Добавлена аннотация
&Деталька
для чтения параметров приложения из конфигурационного файла. Аннотацию можно использовать в тех же местах, что и&Пластилин
- в конструкторе, сеттере и на поле. В качестве параметра аннотации выступает путь к настройке в формате библиотеки configor. Конфигурационный файл имеет имяautumn-properties.json
/yaml
/yml
и может быть расположен в корне проекта или в подкаталогеsrc
. Значение по умолчанию для параметра можно указать с помощью параметра аннотацииЗначениеПоУмолчанию
. - Добавлена аннотация
&Блестяшка
для задания произвольных параметров конструктора/завязи желудя. Параметры могут быть переданы в виде массива через методПоделка.НайтиЖелудь(ИмяЖелудя, Параметры)
. Можно либо передать либо все параметры конструктора (включая пластилин, детальки и собственно блестяшки) либо только блестяшки.