-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
72 changed files
with
2,439 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# АннотацияЖелудь | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Помечает указанный класс как желудь - компонент, жизненным циклом которого управляет фреймворк ОСень. | ||
// | ||
// Размещается над конструктором класса. | ||
// | ||
// Параметры: | ||
// Значение - Строка - Имя желудя. По умолчанию будет использовано имя типа объекта, | ||
// как оно возвращается функцией `ТипЗнч`. | ||
// | ||
// Пример: | ||
// &Желудь | ||
// Процедура ПриСозданииОбъекта() | ||
// КонецПроцедуры | ||
// | ||
Процедура ПриСозданииОбъекта(Значение = "") | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# АннотацияПластилин | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Маркерная аннотация для указания, что прилепляемая частица | ||
// является желудем. Основной способ связывания желудей между собой. | ||
// | ||
// Может быть использована над параметром конструктора/метода завязи желудя, полем класса | ||
// или методом установки значения. | ||
// | ||
// Параметры: | ||
// Значение - Строка - Имя прилепляемого желудя. Если не заполнено, используется имя параметра конструктора/поля | ||
// класса или часть имени метода для установки значения. | ||
// Тип - Строка - Тип прилепляемого желудя. В случае передачи значения "Желудь", будет внедрен желудь как таковой. | ||
// Так же может быть указан тип-коллекция: "Массив", "ТаблицаЗначений" и другие. Полный список | ||
// доступных типов см. в библиотеке | ||
// [autumn-collections](https://github.com/autumn-library/autumn-collections). | ||
// Блестяшка - Произвольный - Повторяемый параметр. Передаваемые в прилепляемый желудь произвольные значения. | ||
// | ||
// Пример: | ||
// | ||
// 1. | ||
// &Желудь | ||
// Процедура ПриСозданииОбъекта(&Пластилин ДругойЖелудь) | ||
// | ||
// 2. | ||
// &Желудь | ||
// Процедура ПриСозданииОбъекта( | ||
// . &Пластилин(Значение = "ДругойЖелудь", Тип = "Массив", Блестяшка = "Парам1", Блестяшка = "Парам2") Зависимость | ||
// ) | ||
// | ||
// 3. | ||
// &Пластилин | ||
// Перем ДругойЖелудь; | ||
// | ||
// 4. | ||
// &Завязь | ||
// Функция МойЖелудь(&Пластилин ДругойЖелудь) Экспорт | ||
// | ||
// 5. | ||
// &Пластилин | ||
// Процедура УстановитьДругойЖелудь(Зависимость) Экспорт | ||
// | ||
Процедура ПриСозданииОбъекта(Повторяемый = Блестяшка = Неопределено) | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# АннотацияДуб | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Помечает указанный класс как фабрику компонентов - дуб, из которого появляются желуди. | ||
// `&Дуб` сам по себе тоже является желудем, то есть может запрашивать прилепление частиц, | ||
// является объектом для обработки `&Напильник`ом, может иметь `&Спецификация` и так далее. | ||
// | ||
// Дуб обычно содержит методы, помеченные аннотацией `&Завязь`, которые возвращают желуди, но | ||
// может содержать и другие методы, не связанные непосредственно с созданием желудей. | ||
// | ||
// Размещается над конструктором класса. | ||
// | ||
// Параметры: | ||
// Значение - Строка - Имя желудя. По умолчанию будет использовано имя типа объекта, | ||
// как оно возвращается функцией `ТипЗнч`. | ||
// Пример: | ||
// &Дуб | ||
// Процедура ПриСозданииОбъекта() | ||
// КонецПроцедуры | ||
// . | ||
// &Завязь | ||
// Функция ПользовательскийЖелудь() Экспорт | ||
// . Возврат Новый ПользовательскийЖелудь(); | ||
// КонецФункции | ||
// | ||
Процедура ПриСозданииОбъекта(Значение = "") | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# АннотацияЗавязь | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Помечает функцию как функцию, создающую желудь. | ||
// | ||
// Может иметь параметры, каждый из которых должен быть промаркирован как &Пластилин, &Деталька или &Блестяшка. | ||
// В указанные параметры автоматически будут прилеплены соответствующие частицы при создании желудя. | ||
// | ||
// Может размещаться над экспортной функцией в классе, проаннотированном как `&Дуб`, или над методом-лямбдой, | ||
// передаваемой в качестве параметра в `Поделка.ДобавитьЗавязь()`. | ||
// | ||
// Параметры: | ||
// Значение - Строка - Имя создаваемого желудя. По умолчанию будет использовано имя метода. | ||
// Тип - Строка - Тип создаваемого желудя. | ||
// Требуется если по имени желудя не получается однозначного определить его тип. | ||
// | ||
// Пример: | ||
// &Завязь | ||
// Функция ПользовательскийЖелудь(&Пластилин Зависимость, &Деталька ВажнаяНастройка) Экспорт | ||
// . Возврат Новый ПользовательскийЖелудь(Зависимость, ВажнаяНастройка); | ||
// КонецФункции | ||
// | ||
Процедура ПриСозданииОбъекта(Значение = "", Тип = "") | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# АннотацияДеталька | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Маркерная аннотация для указания, что прилепляемая частица | ||
// является настройкой приложения. | ||
// | ||
// Может быть использована над параметром конструктора/метода завязи желудя, полем класса | ||
// или методом установки значения. | ||
// | ||
// Параметры: | ||
// Значение - Строка - Ключ настройки. См. библиотеку [configor](https://github.com/oscript-library/configor) | ||
// для полного описания синтаксиса. | ||
// Если не заполнено, используется имя параметра конструктора/поля класса | ||
// или часть имени метода для установки значения. | ||
// ЗначениеПоУмолчанию - Произвольный - Значение, которое принимает деталька, если не задано из-вне. | ||
// | ||
// Пример: | ||
// | ||
// 1. | ||
// &Деталька | ||
// Перем ПутьКФайлу; | ||
// | ||
// 2. | ||
// &Деталька(Значение = "Настройки.ПутьКФайлу", ЗначениеПоУмолчанию = "./file.txt") | ||
// Перем ПутьКФайлу; | ||
// | ||
// 3. | ||
// &Желудь | ||
// Процедура ПриСозданииОбъекта(&Деталька ПутьКФайлу) | ||
// | ||
// 4. | ||
// &Деталька | ||
// Процедура УстановитьПутьКФайлу(Значение) Экспорт | ||
// | ||
// 5. | ||
// &Завязь | ||
// Функция МойЖелудь(&Деталька ПутьКФайлу) Экспорт | ||
// | ||
Процедура ПриСозданииОбъекта(Значение = "", ЗначениеПоУмолчанию = Неопределено) | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# АннотацияБлестяшка | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Маркерная аннотация для указания, что прилепляемая частица | ||
// является произвольным значением, передаваемым в конструктор желудя. | ||
// | ||
// Может быть использована только над параметром конструктора/метода завязи желудя. | ||
// | ||
// Пример: | ||
// | ||
// 1. | ||
// &Желудь | ||
// Процедура ПриСозданииОбъекта(&Блестяшка ПроизвольноеЗначение) | ||
// | ||
// 2. | ||
// &Завязь | ||
// Функция МойЖелудь(&Блестяшка ПроизвольноеЗначение) Экспорт | ||
// | ||
Процедура ПриСозданииОбъекта() | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# АннотацияТабакерка | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Пометка, что прилепляемая частица прилепляется не непосредственно, а через специальный объект | ||
// типа `Табакерка`, который позволяет получить частицу программно и отложенно. | ||
// | ||
// Может использоваться для внедрения компанейских желудей, внедрения желудя самого в себя, | ||
// для разрыва циклических зависимостей, для передачи дополнительных параметров прилепляемого желудя и т.п. | ||
// | ||
// Используется совместно с аннотациями `&Пластилин` и `&Деталька`. | ||
// | ||
// Пример: | ||
// | ||
// 1. | ||
// &Табакерка | ||
// &Пластилин("ДругойЖелудь") | ||
// Перем ТабакеркаСДругимЖелудем; | ||
// . | ||
// ДругойЖелудь = ТабакеркаСДругимЖелудем.Достать(); | ||
// ДругойЖелудь.КакойТоМетод(); | ||
// ... | ||
// 2. | ||
// &Табакерка | ||
// &Пластилин("ДругойЖелудь") | ||
// Перем ТабакеркаСДругимЖелудем; | ||
// . | ||
// МассивБлестяшек = Новый Массив; | ||
// МассивБлестяшек.Добавить("Парам1"); | ||
// . | ||
// ДругойЖелудь = ТабакеркаСДругимЖелудем.Достать(МассивБлестяшек); | ||
// ДругойЖелудь.КакойТоМетод(); | ||
// | ||
Процедура ПриСозданииОбъекта() | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# АннотацияФинальныйШтрих | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Процедуры, помеченные аннотацией "ФинальныйШтрих" будут вызваны в конце инициализации желудя, | ||
// после отработки конструктора/метода завязи и всех напильников, применяемых на желуде. | ||
// Во время выполнения процедуры доступны все прилепляемые частицы, прилепленные как через конструктор, | ||
// так и через поля класса и методы-сеттеры. | ||
// | ||
// Желудь может содержать несколько процедур, помеченных аннотацией "ФинальныйШтрих". | ||
// Порядок их вызова не гарантируется. | ||
// | ||
// Процедура должна быть помечена `Экспорт`ная. | ||
// | ||
// Пример: | ||
// | ||
// &ФинальныйШтрих | ||
// Процедура ПостИнициализация() Экспорт | ||
// . Сообщить("Я выполнилась после конструктора объекта"); | ||
// КонецПроцедуры | ||
// . | ||
// &Желудь | ||
// Процедура ПриСозданииОбъекта() | ||
// КонецПроцедуры | ||
// | ||
Процедура ПриСозданииОбъекта() | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# АннотацияНапильник | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Специальный тип желудя для дополнительной обработки других желудей в процессе их создания. | ||
// | ||
// Может использоваться для добавления дополнительных действий или свойств создаваемым желудям. Метод `ОбработатьЖелудь` | ||
// **может** возвращать другой объект, который подменит текущий желудь, или обертку-декоратор над текущим желудем. | ||
// | ||
// Каждый `&Напильник` дополнительно имеет `&Прозвище("Напильник")`. | ||
// | ||
// Напильник сам по себе является желудем, однако в силу своей специфики он может запрашивать прилепление только | ||
// &Деталек и Поделки. | ||
// | ||
// Желудь, помеченный аннотацией `&Напильник`, должен реализовать следующий интерфейс: | ||
// * `Функция ОбработатьЖелудь(Желудь, ОпределениеЖелудя) Экспорт` | ||
// | ||
// Размещается над конструктором класса. | ||
// | ||
// Параметры: | ||
// Значение - Строка - Имя желудя, под которым напильник добавляется в контекст Поделки. | ||
// ПрименяетсяТолькоНа - Строка - Повторяемый параметр. Ограничивает применение напильника только на желудях | ||
// с указанными именами. | ||
// | ||
// Пример: | ||
// &Напильник | ||
// Процедура ПриСозданииОбъекта() | ||
// КонецПроцедуры | ||
// | ||
Процедура ПриСозданииОбъекта(Повторяемый = ПрименяетсяТолькоНа = Неопределено) | ||
``` | ||
|
||
## МожетПрименятьсяНа | ||
|
||
```bsl | ||
// Проверить, может ли текущий напильник применяться на указанном желуде. | ||
// | ||
// Параметры: | ||
// ОпределениеЖелудя - ОпределениеЖелудя - Определение желудя, для которого проверяется | ||
// применимость текущего напильника. | ||
// | ||
// Возвращаемое значение: | ||
// Булево - Истина, если напильник может применяться на указанном желуде, иначе Ложь. | ||
// | ||
Функция МожетПрименятьсяНа(ОпределениеЖелудя) | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# АннотацияЗаготовка | ||
|
||
## ПриСозданииОбъекта | ||
|
||
```bsl | ||
// Специальный тип желудя для выполнения дополнительных действий в момент помещения класса в контекст Поделки. | ||
// | ||
// Может использоваться для добавления динамической загрузки новых классов в систему типов OneScript или | ||
// дополнительных импортов библиотек через директиву `#Использовать`. | ||
// | ||
// Каждая `&Заготовка` дополнительно имеет `&Прозвище("Заготовка")` и &Спецификация("Инициализация"). | ||
// | ||
// Желудь, помеченный аннотацией `&Заготовка`, должен реализовать следующий интерфейс: | ||
// * `Процедура ПриИнициализацииПоделки(Поделка) Экспорт` | ||
// | ||
// Размещается над конструктором класса. | ||
// | ||
// Параметры: | ||
// Значение - Строка - Имя желудя, под которым заготовка добавляется в контекст Поделки. | ||
// | ||
// Пример: | ||
// &Заготовка | ||
// Процедура ПриСозданииОбъекта() | ||
// КонецПроцедуры | ||
// | ||
Процедура ПриСозданииОбъекта(Значение = "") | ||
``` | ||
|
Oops, something went wrong.